您在哪里存储上传的用户图片

时间:2013-05-23 15:21:58

标签: ruby-on-rails ruby-on-rails-3 paperclip carrierwave

我还没有使用像Amazon S3这样的服务,那么我应该在文件结构中存储上传的用户图像?我想避开公共目录,因为图像是私有的。

1 个答案:

答案 0 :(得分:2)

您是否使用插件来处理上传内容?其中许多允许您指定存储文件的路径,如果您想避开公用文件夹,合理的建议是"#{RAILS_ROOT}/uploads/images/"

这非常关乎个人品味。

例如,在carrierwave上传程序中,这会将项目放在RAILS_ROOT下方的上传文件夹中,该文件夹不可公开访问。

def store_dir
  "#{RAILS_ROOT}/uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end

https://github.com/carrierwaveuploader/carrierwave#changing-the-storage-directory