Heroku照片存储在服务器上

时间:2012-01-04 22:44:03

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

我使用我的服务器存储用户上传的图片。这很好,但是当我对代码进行更改时,它会反映这一点并删除存储在服务器上的图片。

git push heroku master

如何防止这种情况?

2 个答案:

答案 0 :(得分:7)

Heroku的文件系统是只读的,因此您不能也不应该将上传的文件存储在您的dynos中。

如果你考虑一下,这是有道理的。您可以让多个dynos运行您的应用程序,这样您就无法保证哪个dyno正在接收图片。

无论如何,Dynos应该是无状态的,因此您可以轻松地向上或向下扩展应用程序。

在Heroku上执行文件上传的首选方法是按照DevCenter中的说明使用Amazon S3。

答案 1 :(得分:3)

像leonardoborges一样,Heroku的文件系统是只读的。由于您使用的是rails,因此您可以使用像carrierwave这样的gem,它可以帮助您在应用程序中处理图像时使用Amazon S3轻松设置图像。

其他有用的链接 Carrierwave Railscast