图片在Heroku上消失了

时间:2013-04-25 08:57:03

标签: ruby-on-rails ruby-on-rails-3 image heroku

昨天我部署了我的第一个Heroku应用程序,一切都运行良好。

在我的应用中,您可以上传图片,我做了,可以在“显示”页面中看到它。然而今天图像消失了。其他一切似乎都很好。该应用程序在我的本地机器和Heroku上工作得很好,除了不存在的图像。

可能是什么问题?我怎样才能确保它不会再发生?

3 个答案:

答案 0 :(得分:28)

Heroku不支持文件上传。文件系统是只读的。你会 必须在其他地方(或从数据库中托管您上传的文件,这是一个不好的选择)。

https://devcenter.heroku.com/articles/read-only-filesystem

Amazon S3是一种常见的选择:http://devcenter.heroku.com/articles/s3

如果您使用任何宝石(如paperclip或carrierwave)进行上传,使用S3会很简单。您必须在配置文件中设置S3凭证,gem将负责上传,并将为上传的文件提供网址。

答案 1 :(得分:7)

我怀疑您可能已将图像上传到Heroku文件系统,而不是像Amazon S3那样的外部文件存储。 Heroku文件系统是临时的,不会在dynos或重启之间共享 - Heroku每天都会这样做。我怀疑这就是这里发生的事情导致你失去你的形象。

答案 2 :(得分:1)

Heroku 是文件系统是临时的。 或者,您可以将图像保存为 url,直到您准备好使用 aws...

相关问题