この非常に関連する質問 ( Plupload HTML5 ランタイムを使用して Amazon S3 に直接アップロードする) で言及されているように、Amazon は HTML5を使用して CORS アップロードを許可するようになりましたが、'html5' ランタイムを使用して s3 にファイルをプッシュするように plupload を正常に構成した人はいますか? 関連する質問への回答では、実装の詳細は提供されません。
これが私の現在のplupload構成です:
$("#uploader").plupload({
// General settings
runtimes: 'html5,flash',
url: 'http://s3.amazonaws.com/' + $('#Bucket').val(),
max_file_size: '20mb',
multipart: true,
multipart_params: {
'key': '${filename}', // use filename as a key
'Filename': '${filename}', // adding this to keep consistency across the runtimes
'acl': $('#Acl').val(),
'Content-Type': 'binary/octet-stream',
'success_action_status': '201',
'AWSAccessKeyId': $('#AWSAccessKeyId').val(),
'policy': $('#Policy').val(),
'signature': $('#Signature').val()
},
file_data_name: 'file',
multiple_queues: true,
filters: [
{ title: "Image files", extensions: "jpg,png,gif,jpeg" }
],
flash_swf_url: '/Scripts/plupload/plupload.flash.swf',
});
上記のコードは「フラッシュ」ランタイムで機能しているため、ポリシーが正しく生成され、署名されています。
multipart_params 構成オブジェクトに引数がありませんか?
また、s3 バケットで次の CORS 構成を使用しています。
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>HEAD</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
「html5」plupload ランタイムからの CORS アップロードを許可するために、s3 バケットに他の構成変更を加える必要がありますか?