【发布时间】:2012-04-01 15:52:14
【问题描述】:
我正在使用 Rails、Paperclip 和 Heroku 开发一个 web 应用程序,但自从我上次提交后,我刚刚添加了 Google Analytics,大部分上传的图像都消失了!那是我的链接:http://wo42.herokuapp.com/ 我不知道为什么会这样 oO
【问题讨论】:
标签: ruby-on-rails file heroku paperclip
我正在使用 Rails、Paperclip 和 Heroku 开发一个 web 应用程序,但自从我上次提交后,我刚刚添加了 Google Analytics,大部分上传的图像都消失了!那是我的链接:http://wo42.herokuapp.com/ 我不知道为什么会这样 oO
【问题讨论】:
标签: ruby-on-rails file heroku paperclip
Heroku 从来没有让你写入他们的文件系统,尽管他们最近引入了一种叫做临时文件系统的东西 - this article 解释了它。最好的选择是使用S3。
这里的实际问题是,当您推送到 Heroku 时,您的应用程序会被重新部署,而这不会是您之前使用的同一台机器(它可能在任何时间任何地方)。
因此,如果您将图像上传到本地 dyno 文件系统,则只有该 dyno 可以访问这些文件。当您部署时,该测功机将被销毁并创建一个新的。
这就是为什么 Heroku 建议您使用 S3 等持久性支持服务来存储您上传和持久化的文件。这种服务适用于所有 dyno,并且在部署中持续存在。
【讨论】: