這篇文章主要介紹“jQuery+ajax實現(xiàn)文件上傳進度條”,在日常操作中,相信很多人在jQuery+ajax實現(xiàn)文件上傳進度條問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”jQuery+ajax實現(xiàn)文件上傳進度條”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
成都創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司,專注網(wǎng)站設(shè)計制作、成都網(wǎng)站制作、網(wǎng)站營銷推廣,域名與空間,雅安服務(wù)器托管,網(wǎng)站托管、服務(wù)器托管有關(guān)企業(yè)網(wǎng)站制作方案、改版、費用等問題,請聯(lián)系成都創(chuàng)新互聯(lián)。
XMLHttpRequest.upload 向后臺上傳文件時監(jiān)聽進度,主要使用的是XMLHttpRequest
提供的upload
方法,此方法會返回一個XMLHttpRequestUpload
對象,用來表示上傳進度 。 —— XMLHttpRequest.upload
FormData 是XMLHttpRequest
提供的一個新的接口,主要優(yōu)點是可以異步上傳二進制文件。 —— FormData
<input type="file" id="upload-file"> <div class="progress"> <div></div> </div> <button onclick="">上傳</button>
.progress { width: 600px; height: 10px; border: 1px solid #ccc; border-radius: 10px; margin: 10px 0px; overflow: hidden; } /* 初始狀態(tài)設(shè)置進度條寬度為0px */ .progress > div { width: 0px; height: 100%; background-color: yellowgreen; transition: all .3s ease; }功能實現(xiàn)
function uploadFile() {
//獲取上傳的文件
var uploadFile = $('#upload-file').get(0).file[0];
var formdata = new FormData();
formdata.append('fileInfo', uploadFile);
$.ajax({
url: '/uploadfileurl',
type: 'post',
dataType: 'json',
processData: false,
contentType: false,
xhr: function() {
var xhr = new XMLHttpRequest();
//使用XMLHttpRequest.upload監(jiān)聽上傳過程,注冊progress事件,打印回調(diào)函數(shù)中的event事件
xhr.upload.addEventListener('progress', function (e) {
console.log(e);
//loaded代表上傳了多少
//total代表總數(shù)為多少
var progressRate = (e.loaded / e.total) * 100 + '%';
//通過設(shè)置進度條的寬度達到效果
$('.progress > div').css('width', progressRate);
})
return xhr;
}
})
}
到此,關(guān)于“jQuery+ajax實現(xiàn)文件上傳進度條”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
文章標題:jQuery+ajax實現(xiàn)文件上傳進度條
鏈接地址:http://chinadenli.net/article4/pihcoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗、商城網(wǎng)站、網(wǎng)站營銷、建站公司、軟件開發(fā)、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)