[英]How can I upload files larger than 5GB to Amazon S3?
我目前正在使用带有Carrierwave gem的Rails 3.2将文件上传到Amazon S3。 现在我需要能够处理大于5GB的用户提交的文件,同时仍然使用Carrierwave gem。 Carrierwave或Fog还有其他宝石或分支可以处理上传到S3的5GB +文件吗?
编辑:我不想重写完整的Rails上传解决方案,所以这样的链接无济于事: https : //gist.github.com/908875 。
我想出了如何做到这一点,并让它现在工作。 在正确的config/environment
文件中,添加以下内容以将100MB块中的文件发送到Amazon S3:
CarrierWave.configure do |config|
config.fog_attributes = { :multipart_chunk_size => 104857600 }
end
由于雾宝石内置了多部分上传(感谢Veraticus指出它),因此需要通过Carrierwave将适当的配置属性传递到雾中。 当发送到S3时,我Connection reset by peer (Errno::ECONNRESET)
错误接收到频繁的Connection reset by peer (Errno::ECONNRESET)
,因此可能必须重试部分上载。
在上传之前,您需要将文件分成小块。
看看以下内容:
http://www.ruby-forum.com/topic/1282369
http://joemiller.me/2011/02/18/client-support-for-amazon-s3-multipart-uploads-files-5gb/
无论哪种方式,您都需要拆分文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.