您好,登錄后才能下訂單哦!
不能直接用form提交的形式上傳到七牛的某個(gè)服務(wù)器,比如:
$.ajax({ url:"https://up-z0.qiniu.com/", type:"post", data:form, processData:false, contentType:false, success:function(data){ alert("附件已上傳成功!"); }, error:function(e){ } });
因?yàn)榭缬蛱峤粩?shù)據(jù),瀏覽器會(huì)阻止該請(qǐng)求,提示: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){ /* 接收上傳進(jìn)度信息,res 參數(shù)是一個(gè)帶有 total 字段的 object,包含loaded(已上傳大小,單位為字節(jié)。)、total(本次上傳的總量)、percent(當(dāng)前上傳進(jìn)度,范圍:0~100。)三個(gè)屬性,提供上傳進(jìn)度信息。*/ console.log(res.percent); showInfo("已經(jīng)上傳"+res.percent+"%"); } var funcError=function(err){ /*上傳錯(cuò)誤后觸發(fā),參數(shù) err 為一個(gè)包含 code、message、isRequestError 三個(gè)屬性的 object */ console.log(err.message); alert("附件上傳失敗,"+err.message); } var funcComplete=function(res){ /*接收上傳完成后的后端返回信息,res 參數(shù)為一個(gè) object,默認(rèn)為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("遠(yuǎn)程獲取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 表示使用,默認(rèn)為 false。 region: qiniu.region.z0 // 根據(jù)具體提示修改上傳地區(qū),當(dāng)為 null 或 undefined 時(shí),自動(dòng)分析上傳域名區(qū)域 }; var observable = qiniu.upload(fileList[0], key1, data.token, putExtra, config); var subscription = observable.subscribe(funcNext, funcError, funcComplete) ; }, error: function(){ alert("遠(yuǎn)程獲取token失敗"); hideLoading(); } }); }
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。