

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | var uploader = new plupload.Uploader({ runtimes : 'html5,flash,silverlight,html4', browse_button : 'selectfiles', //runtimes : 'flash', container: document.getElementById('container'), flash_swf_url : 'lib/plupload-2.1.2/js/Moxie.swf', silverlight_xap_url : 'lib/plupload-2.1.2/js/Moxie.xap', url : host, multipart_params: { 'Filename': '${filename}', 'key' : '${filename}', 'policy': policyBase64, 'OSSAccessKeyId': accessid, 'success_action_status' : '200', //讓服務(wù)端返回200,不然,默認會(huì )返回204 'signature': signature, }, ....} |
簽名signature主要是對policyText進(jìn)行簽名,最簡(jiǎn)單的例子如下:
1 2 3 4 5 6 | var policyText = { 'expiration': '2020-01-01T12:00:00.000Z', // 設置該Policy的失效時(shí)間,超過(guò)這個(gè)失效時(shí)間之后,就沒(méi)有辦法通過(guò)這個(gè)policy上傳文件了 'conditions': [ ['content-length-range', 0, 1048576000] // 設置上傳文件的大小限制,如果超過(guò)了這個(gè)大小,文件上傳到OSS會(huì )報錯的 ]} |
Cors(跨域訪(fǎng)問(wèn))
注意:如果一定要保證bucket屬性Cors設置支持POST方法。因為這個(gè)HTML直接上傳到OSS,會(huì )產(chǎn)生跨域請求。必須在bucket屬性里面設置允許跨域, 可以在OSS控制臺里面設置
設置如下圖:

代碼下載
http://files.cnblogs.com/files/ossteam/oss-h5-upload-js-direct.tar.gz
聯(lián)系客服