2011-07-11 53 views
36

Heroku只有100MB的文件存储,对不对?我正在制作一个低级Rails应用程序,我非常喜欢Heroku,但是如果我的应用程序允许每个用户上传一张图片,我可能会很快耗尽空间......是否有一个简单的解决方案,可以让我有替代方案文件存储的配置文件图片或类似的东西?Heroku文件存储

+21

虽然你确实希望在Heroku上使用S3(因为文件空间只是暂时的,并且不会持久存储),用于存储配置文件图片等内容(请参阅下面的Codeglot答案),但我想指出100MB的限制是只适用于slu((应用程序的编译源代码和宝石)。你的/ tmp目录实际上可以容纳非常大的文件(我认为我已经看到4GB的存储可以暂时存储)。但是,如果您的dyno重新启动,您将失去一切,因此它只能用作临时存储空间,而不是永久存储空间。 –

+0

非常有帮助,莱利。谢谢! –

+1

另外参见Heroku开发中心文章[这里](http://devcenter.heroku.com/articles/s3)上的主题 –

回答

18

this blog post

在你的模型。

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 

然后在亚马逊S3去注册一个斗:http://aws.amazon.com/s3/

+4

链接已经死机。你知道有没有新的? –

+1

@DonalRafferty它仍然在回踩机器上。 – Tijmen