我目前在Heroku上托管的应用允许用户提交照片。最初,我正在考虑将这些照片存储在文件系统中,因为将它们存储在数据库中显然是不好的做法。

但是,似乎Heroku上没有永久性文件系统,只有一个临时文件系统。这是真的吗?如果是这样,在存储照片和其他文件方面我有什么选择?

最佳答案

是真的。 Heroku允许您创建云应用程序,但是这些云应用程序不是“永久”的-它们是可以在Amazon EC2上多次复制的实例(或“段”)(这就是使用Heroku扩展如此容易的原因)。如果您要推送应用程序的新版本,则将重新编译该段代码,并且您先前保存到文件系统中的所有文件都将丢失。

最好的选择(无论使用Heroku还是其他方式)是将用户提交的照片保存到CDN。由于您在Heroku上,并且Heroku使用AWS,因此我建议使用可选的启用CloudFront的Amazon S3。

这是有益的,不仅因为它绕开了Heroku短暂的“局限性”,而且还因为CDN速度更快,并且将为您的Web应用程序提供更好的服务并为用户提供体验。

关于heroku - 没有用于Heroku的永久文件系统?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12123050/

10-12 12:35
查看更多