js 从服务端获取 policy 后直传阿里云 oss.
实际并不需要用 demo 里面的插件, 原生 js 更容易理解.
服务端和客户端的 demo 都让人更糊涂, 估计是外包弄的, 水平不是一般的次.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> </head>
<body> <div> <input id="file" type="file" /> <button id="upload" type="button">upload</button> </div> <script type="text/javascript"> let button = document.getElementById("upload"); button.addEventListener("click", (event) => { var formData = new FormData(); var fileField = document.querySelector("input[type='file']"); formData.append("success_action_status", 200); formData.append("OSSAccessKeyId", ""); formData.append("policy", ""); formData.append("signature", ""); formData.append("key", "vid/course-video-application/a.zip"); formData.append("file", fileField.files[0]);
fetch("http://xx.oss-cn-shenzhen.aliyuncs.com", { method: "post", body: formData, }); }); </script> </body> </html>
|
参考链接