0

我正在使用carrierwave,我想更改存储图像的目录。

现在图像 URL 是 /uploads/modelname/image/51/nameofile.jpg

ImageUploader 中的 store_dir 是

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

我绝对不希望显示模型名称是否有一个公认的理想路径,图像应该存储在 heroku 上?

4

2 回答 2

2

Heroku 不允许上传到他们的服务器。您需要使用另一种存储介质,例如 Amazon 的 S3。

我实际上使用 Parse 的 (www.parse.com) API 将图像存储在他们的解决方案中。但这取决于您需要如何访问您的图像。

于 2013-03-15T17:47:17.793 回答
1

您可以将文件上传到 Heroku dyno 文件系统,但文件系统是易腐烂的,并且不会在您的 dyno 之间共享。这是一个要点,展示了如何在 AWS S3 中制作 Carrierwave 存储上传的文件,这是一个更好的选择:https ://gist.github.com/cblunt/1303386

这是使用 PaperClip 完成此任务的 Heroku 指南:https ://devcenter.heroku.com/articles/paperclip-s3

于 2013-03-15T18:25:16.560 回答