2011-08-28 422 views
1

我试图直接上传文件到Amazon S3,上传完成后,我收到以下错误但是之后:上传到Amazon S3错误“EntityTooLarge”为20兆字节的文件

此XML文件没有出现有任何与它相关的风格信息。文档树如下所示。

<Error> 
    <Code>EntityTooLarge</Code> 
<Message> 
    Your proposed upload exceeds the maximum allowed size 
</Message> 
<ProposedSize>5245254</ProposedSize> 
<RequestId>645D7BA0DCC454D9</RequestId> 
<HostId> 
    9ZX65MGwKi/hpe05eJuNp6mPgsRPZk54bplqX93ImjlLzojSesXCGRCZRjrkUDK8 
</HostId> 
    <MaxSizeAllowed>5242880</MaxSizeAllowed> 
</Error> 

似乎是5242880个字节MaxSizeAllowed我怎样才能改变从亚马逊的一侧该限制的限制。感谢您的帮助

回答

6

我碰到了同样的问题使用carrierwave_direct gem,并在文档(放置在carrierwave.rb初始化程序中)中找到以下行:

config.max_file_size  = 10.megabytes  # defaults to 5.megabytes 

通过更改默认值,我可以上传更大的文件。

3

看来您正在使用SOAP接口进行文件上传。

尝试使用REST接口来代替:

http://docs.amazonwebservices.com/AmazonS3/latest/API/index.html?RESTObjectPUT.html

较大文件超过5 GB,你需要使用多部分上传:

http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadInitiate.html

+0

感谢您的信息,我已经从d2s3插件https://github.com/mwilliams/d2s3/tree/master/lib/d2s3中借用了大部分代码,所以如何改变休息方式有点陌生我。我需要更改特定于d2s3代码才能实现REST接口? – Hishalv