上传到amazon s3错误“EntityTooLarge”为20兆字节的文件

时间:2011-08-28 21:32:04

标签: ruby-on-rails-3 file-upload amazon-s3

我正在尝试将文件直接上传到amazon s3,但是在上传完成后我收到以下错误:

此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>

MaxSizeAllowed似乎有5242880字节的限制如何从亚马逊方面改变这个限制。感谢您的帮助

2 个答案:

答案 0 :(得分:7)

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

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

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

答案 1 :(得分: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