0

我的回形针工作得很好,我可以将文件上传到我的网站,但是每当我进行更新并推送网站的新版本时,我通过回形针上传的所有文件似乎都消失了(输入数据库的所有信息仍然存在尽管)。

我认为问题在于我没有从网站的实时版本中提取文件,但是每当我执行 git pull 时,它都会告诉我一切都是最新的。无论如何我可以下载我上传的文件。(我宁愿目前不使用亚马逊 S3 来存储文件)

4

2 回答 2

0

您上传的文件存储在公共文件夹中。并且公用文件夹未使用代码部署,因此您的文件假定已消失。

如果您使用 amazon S3,那么图像将存储在 s3 中,它将提供一个动态 url 来访问图像。然后,您将能够正确访问图像。

您还可以将图像保存在 Dropbox。在此应用程序中,图像存储在 Dropbox 中并在 heroku 上运行。你可以参考:

https://github.com/aman199002/Album-App # 用于存储专辑的开源应用程序(在保管箱中)。

http://album-app.herokuapp.com #在 heroku 上运行的应用程序的 URL。

于 2013-09-06T18:16:52.177 回答
0

当您将应用程序部署到 Heroku 时,您推送的代码会被编译成所谓的 a slug- 这本质上是运行应用程序所需的所有内容的存档。当您重新启动或扩展您的应用程序时,您的原始文件slug将被复制以运行。但是,它是一个只读的 slug,因此当您上传文件时,它们存在于接收它们的 dyno 上,因此如果您有多个 dyno,您的文件将不会存在于它们之间,并且当您的应用程序重新启动或您推送新代码时它们不会持续存在。有什么办法可以找回它们。

在 Heroku 上保存文件的唯一方法是使用外部云存储解决方案,如 Amazon S3、Rackspace 文件等 - 幸运的是,Paperclip 使用 S3 作为其存储机制非常简单 - 在https://devcenter.heroku 上有一个教程。 com/articles/回形针-s3

于 2013-09-07T07:26:35.947 回答