答案 0 :(得分:17)
除了对bucket,key和acl的限制外,策略文档还必须包含name,Filename和success_action_status的规则。例如:
["starts-with", "$name", ""],
["starts-with", "$Filename", ""],
["starts-with", "$success_action_status", ""],
Filename
是Flash后端发送的字段,但HTML5后端不会。
multipart
设置必须为True,但这是默认设置。
multipart_params
设置必须是包含以下字段的字典:
key
AWSAccessKeyId
acl = 'private'
policy
signature
success_action_status = '201'
将success_action_status
设置为201会导致S3返回HTTP状态代码为201的XML文档。这是使Flash后端工作所必需的。 (当响应为空且代码为200或204时,闪存上载会停止。如果响应是重定向,则会导致I / O错误。)
S3无法理解块,因此请删除chunk_size
配置选项。
unique_names
可以是True或False,两者都有效。答案 1 :(得分:5)
最新的Plupload版本包含说明性示例,很好地展示了如何使用Plupload将文件上传到Amazon S3,使用Flash和SilverLight运行时。
以下是新鲜的文章:Upload to Amazon S3
答案 2 :(得分:2)
官方的Plupload教程,比这里的答案更详细:https://github.com/moxiecode/plupload/wiki/Upload-to-Amazon-S3
答案 3 :(得分:1)
如果您使用的是Rails 3,请查看我的示例项目:
使用Rails 3,Flash和基于MooTools的FancyUploader直接上传到S3的示例项目:https://github.com/iwasrobbed/Rails3-S3-Uploader-FancyUploader
示例项目使用Rails 3,Flash / Silverlight / GoogleGears / BrowserPlus和基于jQuery的Plupload直接上传到S3:https://github.com/iwasrobbed/Rails3-S3-Uploader-Plupload
答案 4 :(得分:1)
我想注意,不要忘记将crossdomain.xml上传到你的s3主机,如果你有success_action_redirect url,你也需要在该域上有crossdomain.xml文件。我花了一天时间与这个问题作斗争,最后发现了什么是错的。所以下次想想闪存是如何工作的。
希望我为某人节省时间。