0

我遇到了一个以前从未遇到过的奇怪问题,并且似乎无法在网上找到有关它的任何其他信息。

我正在 Heroku 上的免费实例上运行应用程序。使用 Heroku 免费实例,如果没有向服务器发出请求,Dyno 的电源会在 30 分钟左右后关闭。

我遇到的问题是当 Heroku 关闭并不得不重新启动时,通过 Carrierwave Gem(与 Active Admin 集成)上传的图像没有被加载,这意味着我必须重新上传所有内容?

图像存储在公共目录中的服务器上。

以前有没有其他人遇到过这个问题,如果有,您知道如何解决吗?:)

4

2 回答 2

1

重新启动测功机时,存储在测功机中的文件会丢失。发生这种情况是因为创建了一个新的测功机并且文件没有跨测功机保留。不幸的是,即使是 Heroku 的付费实例也会有这个问题,因为当你推送新版本时会创建一个新的测功机。

您的解决方案可能仅限于通过您正在使用的应用程序提供的选项。一些可能的想法是将图像放在数据库中,将图像放在另一个服务提供商(如 Amazon S3)上,或将应用程序托管在其他地方。

于 2013-07-24T14:16:19.157 回答
1

在 Heroku 上,您不能在服务器上本地保存文件\附件

读这个

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

您可以保存到 tmp 文件夹,但不能保证留在那里

为了上传文件,您应该使用一些外部存储,例如 Amazon S3

于 2013-07-24T14:19:42.947 回答