gpt4 book ai didi

ruby-on-rails - Carrierwave:本地镜像的权限被拒绝

转载 作者:行者123 更新时间:2023-12-04 18:30:34 32 4
gpt4 key购买 nike

Carrierwave 运行良好,我将目录移出公众(出于安全原因),当我尝试上传图像时出现此错误:

Errno::EACCES in PostsController#create
Permission denied - /home/starkers/Desktop/carrierwave3/public/uploads

我有 chown -R 777 carrierwave3它仍然给我错误。请注意,我已将目录放回 public 中,它仍然给我这个!我已经重新启动了服务器。不工作。我跑了 sudo chown -R root carrierwave3还是这个权限错误!疯狂的!

我正在运行 Ubuntu Saucy Salamander。

最佳答案

对的家伙,这是一个非常奇怪的错误,以防万一每个人都遇到这种情况。它似乎是通过使用我的上传者的 filename 引起的。方法。这是我的方法:

def filename
"#{SecureRandom.base64}"
end

这会导致文件名无效(无扩展名),但是,无法预料的影响是上传文件夹所在的目录(在我的情况下为 public)被设为只读。这么奇怪。肯定是个bug。

我的解决方案是删除整个公用文件夹,注释掉文件名功能,重新创建公用文件夹并通过应用程序上传另一个图像。再次工作。另外,如果我的文件有正确的名称:
def filename
"#{SecureRandom.base64}.gif"
end

它工作正常。只是一个非常非常奇怪的错误。

关于ruby-on-rails - Carrierwave:本地镜像的权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22775262/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com