1. 程式人生 > >檔案上傳-阿里雲OSS-儲存檔案

檔案上傳-阿里雲OSS-儲存檔案

JS上傳檔案到阿里雲OSS

OSS支援流式寫入和讀出。特別適合視訊等大檔案的邊寫邊讀業務場景。

注意在OSS的控制檯:跨域管理中設定允許的方法

這裡寫圖片描述

 <script>
        var client = new OSS.Wrapper({
            region : 'oss-cn-beijing',
            accessKeyId : '輸入你的accessKeyId ',
            accessKeySecret : '輸入你的accessKeySecret ',
            bucket : '你的儲存空間名字'
}); function on_click_upload_file(){ var file = document.getElementById("file").files[0]; if (file == null || file == "") { alert("你還沒有選擇任何檔案,不能上傳!"); return false; } console.log(file.name); var val= document.getElementById("file"
).value; //定義允許上傳的檔案型別 var allow_ext = ".xls|.xlsx|.csv|"; //獲取字尾名 var suffix = val.substr(val.lastIndexOf(".")); //判斷上傳檔案型別是否允許上傳 if (allow_ext.indexOf(suffix + "|") == -1) { var errMsg = "該檔案不允許上傳,請上傳" + allow_ext + "型別的檔案,當前檔案型別為:"
+ suffix; alert(errMsg); return false; } var obj=timestamp(); // 這裡是生成檔名 var storeAs =obj+suffix; //名稱空間 console.log(' => ' + storeAs); client.multipartUpload(storeAs, file).then(function (result) { console.log(result);//返回物件 console.log(result.url); //返回連結 }).catch(function (err) { console.log(err); }); } /** * 生成檔名 * @returns */ function timestamp(){ var time = new Date(); var y = time.getFullYear(); var m = time.getMonth()+1; var d = time.getDate(); var h = time.getHours(); var mm = time.getMinutes(); var s = time.getSeconds(); console.log(y); return ""+y+add0(m)+add0(d)+add0(h)+add0(mm)+add0(s); } function add0(m){ return m<10?'0'+m : m; } </script> ... prompt'''