1

使用MultiPowUpload(闪存文件上传组件)将文件上传到Amazon S3

我只是使用flash_amazons3generator.html文件生成“S3 策略和签名”以粘贴到 var flashvars = {}中。

但是当我试图上传它给我“错误#2049 ”。

这是我的S3 政策和签名

 var flashvars = {
      "uploadUrl": "http://myBucket.s3.amazonaws.com",
      "amazonS3.accessKeyId": "xxxxxx",
      "amazonS3.policy": "xxxxxx",
      "amazonS3.signature": "xxxxx",
      "amazonS3.acl": "public-read-write",
      "amazonS3.key": "xxxxx"
 };

我也尝试使用'encodeURI'和'encodeURIComponent'方法,可能是由于编码而导致的问题,但无济于事:

 'policy': encodeURI(data.policy)
 'signature': encodeURIComponent(data.signature)

知道我哪里出错了吗?

4

2 回答 2

1

我得到了出错的解决方案。解决方案是我错过了一件重要的事情。我应该将 crossdomain.xml 文件的内容类型设置为 text/xml。

下图会有所帮助。如何设置: crossdomain.xml 文件到 text/xml

于 2012-12-26T17:59:27.657 回答
0

请注意,您应该将 crossdomain.xml 文件放在存储桶的根目录,以允许 MultiPowUpload 将文件上传到此存储桶。并授予此文件的“公共读取”权限。在 MultiPowUpload 文档中阅读有关跨域安全策略的更多信息。

您可以在教程 http://www.element-it.com/OnlineHelpMulti/Tutorial.html#amazon中阅读更多内容

在这里您可以看到上传到 S3 服务器的工作正常:demo.element-it.com/Examples/MultiPow/flash_uploadtoamazons3.html

您也可以从 elemen-it s3 存储桶中获取 crossdomain.xml:http: //element-it.s3.amazonaws.com/crossdomain.xml

如果您对我们的产品有任何疑问,请随时联系 Element-IT 支持团队。

于 2012-12-26T05:59:03.360 回答