是否可以使 Heroku 使用持久文件系统



我构建了一个应用程序,用户可以在其中上传他们的头像。我使用了回形针宝石,在我的本地机器上一切正常。在 Heroku 上,一切正常,直到服务器重新启动。然后每个上传的图像都会消失。是否可以将它们保留在服务器上?

注意:我可能应该使用Amazon S3或Google Cloud等服务。但是,这些服务中的每一个都需要信用卡或银行帐户信息,即使您想使用免费模式也是如此。这是一个专为我的投资组合准备的小应用程序,我宁愿避免发送该信息。

不,这是不可能的。Heroku的文件系统是短暂的,没有办法让它持久化。每次测功机重新启动时,您都会丢失上传的内容。

如果要长期存储文件,则必须使用 Amazon S3 等异地文件存储服务。

(从技术上讲,您可以将图像直接存储在数据库中,例如作为Postgres中的bytea,但我强烈建议不要这样做。它不是很有效,然后您必须担心如何将保存的文件提供给浏览器。使用 S3 或类似的东西。

相关内容