Heroku文件存储

Heroku文件存储,heroku,file-storage,Heroku,File Storage,Heroku只有100MB的文件存储空间,对吗?我正在制作一个低级rails应用程序,我真的很喜欢Heroku,但是如果我的应用程序允许每个用户上传一张图片,我可能会很快用完空间…有没有一个简单的解决方案可以让我为个人资料图片或类似的东西提供替代文件存储?请参见 在你的模型中 has_attached_file :picture, :styles => {:large => "275x450>"},

Heroku只有100MB的文件存储空间,对吗?我正在制作一个低级rails应用程序,我真的很喜欢Heroku,但是如果我的应用程序允许每个用户上传一张图片,我可能会很快用完空间…有没有一个简单的解决方案可以让我为个人资料图片或类似的东西提供替代文件存储?

请参见

在你的模型中

has_attached_file :picture, 
                   :styles => {:large => "275x450>"},
                   :storage => :s3, 
                   :s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
                   :path => "appname/:attachment/:style/:id.:extension"
在配置目录的s3.yml中:

    development:
      bucket: bucketname
      access_key_id: key
      secret_access_key: key

    production:
      bucket: bucketname
      access_key_id: key
      secret_access_key: key

然后在Amazon S3注册一个bucket:

我建议您查看heroku插件解决方案,该解决方案是。您将获得500MB的免费和轻松的heroku集成

对于RoR应用程序,您可以检查:


还有和的文档。

是的,最简单的解决方案是使用api.imgur.com,它允许您每小时免费上传1250张图像

您只需要注册并获取您的客户id,然后您需要向发送post请求

以图像数据作为表单数据。然后,您可以在响应数据中获得上传图像的链接,您可以将其存储在数据库中,然后您可以通过前端的链接访问该图像,就像访问任何其他图像一样

详情如下:


虽然您确实希望在Heroku上使用S3(因为文件空间只是临时的,不会持久)来存储配置文件图片之类的东西(请参见下面Codeglot的回答),但我确实想指出,100MB的限制仅适用于slug(应用程序的编译源代码和gem)。您的/tmp目录实际上可以容纳非常大的文件(我想我已经看到过4GB可以暂时存储在那里的说法)。但是,再一次,如果dyno重新启动,您将失去所有的存储空间,因此它只能用作临时存储空间,而不是永久存储空间。此外,请参阅主题链接上的Heroku dev center文章“已死”。你知道有没有新的吗?@DonalRafferty它仍然在wayback机器上。我发现Cloudinary是一个完美的解决方案,它现在提供10 GB的免费存储。另外,一定要检查这个django应用程序:,它只需要更改一些设置,这与最初的Cloudinary应用程序不同,后者需要更改模型、视图和模板中的代码!