您好,登錄后才能下訂單哦!
不能直接用form提交的形式上傳到七牛的某個服務器,比如:
$.ajax({ url:"https://up-z0.qiniu.com/", type:"post", data:form, processData:false, contentType:false, success:function(data){ alert("附件已上傳成功!"); }, error:function(e){ } });
因為跨域提交數據,瀏覽器會阻止該請求,提示:ERR_INSECURE_RESPONSE
所以,要使用七牛的sdk,
首頁,在頁面引入:
<script src="https://apps.bdimg.com/libs/jquery/1.9.1/jquery.min.js"></script> <script type="text/javascript" src='https://unpkg.com/qiniu-js@2.4.0/dist/qiniu.min.js'></script>
頁面的文件控件:
<input type="file" class="myfile" name="file" id="myfile" />
js處理:
var domain = ""; var funcNext=function(res){ /* 接收上傳進度信息,res 參數是一個帶有 total 字段的 object,包含loaded(已上傳大小,單位為字節。)、total(本次上傳的總量)、percent(當前上傳進度,范圍:0~100。)三個屬性,提供上傳進度信息。*/ console.log(res.percent); showInfo("已經上傳"+res.percent+"%"); } var funcError=function(err){ /*上傳錯誤后觸發,參數 err 為一個包含 code、message、isRequestError 三個屬性的 object */ console.log(err.message); alert("附件上傳失敗,"+err.message); } var funcComplete=function(res){ /*接收上傳完成后的后端返回信息,res 參數為一個 object,默認為hash和key, */ console.log(domain+res.key); $("#logo").val(domain+res.key); $("#fileTmpList").html("上傳后文件:"+domain+res.key); mainpic = true; sAlert("附件已上傳成功!"); swal.hideLoading(); } function myUpload(){ showLoading(); $.ajax({ url:"getUpToken.jsp", type:"post", dataType : "json", success: function(data){ if (data == null || data == '') { alert("遠程獲取token值為空!") return; } domain = data.domain; var fileBox = document.getElementById('myfile'); var fileList = fileBox.files; var filePath = $("#myfile").val(); var key1 ="aa_"+Date.parse(new Date())+filePath.substring(filePath.lastIndexOf("."),filePath.length); var putExtra = { fname: "", //文件原文件名 params: {},//用來放置自定義變量 mimeType: null }; var config = { useCdnDomain: true, //表示是否使用 cdn 加速域名,為布爾值,true 表示使用,默認為 false。 region: qiniu.region.z0 // 根據具體提示修改上傳地區,當為 null 或 undefined 時,自動分析上傳域名區域 }; var observable = qiniu.upload(fileList[0], key1, data.token, putExtra, config); var subscription = observable.subscribe(funcNext, funcError, funcComplete) ; }, error: function(){ alert("遠程獲取token失敗"); hideLoading(); } }); }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。