這篇文章主要介紹“jQuery+ajax實現文件上傳進度條”,在日常操作中,相信很多人在jQuery+ajax實現文件上傳進度條問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”jQuery+ajax實現文件上傳進度條”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
成都創新互聯-成都網站建設公司,專注網站設計制作、成都網站制作、網站營銷推廣,域名與空間,雅安服務器托管,網站托管、服務器托管有關企業網站制作方案、改版、費用等問題,請聯系成都創新互聯。
XMLHttpRequest.upload 向后臺上傳文件時監聽進度,主要使用的是XMLHttpRequest
提供的upload
方法,此方法會返回一個XMLHttpRequestUpload
對象,用來表示上傳進度 。 —— XMLHttpRequest.upload
FormData 是XMLHttpRequest
提供的一個新的接口,主要優點是可以異步上傳二進制文件。 —— 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; } /* 初始狀態設置進度條寬度為0px */ .progress > div { width: 0px; height: 100%; background-color: yellowgreen; transition: all .3s ease; }功能實現
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監聽上傳過程,注冊progress事件,打印回調函數中的event事件
xhr.upload.addEventListener('progress', function (e) {
console.log(e);
//loaded代表上傳了多少
//total代表總數為多少
var progressRate = (e.loaded / e.total) * 100 + '%';
//通過設置進度條的寬度達到效果
$('.progress > div').css('width', progressRate);
})
return xhr;
}
})
}
到此,關于“jQuery+ajax實現文件上傳進度條”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注創新互聯網站,小編會繼續努力為大家帶來更多實用的文章!
文章標題:jQuery+ajax實現文件上傳進度條
鏈接地址:http://m.kartarina.com/article4/pihcoe.html
成都網站建設公司_創新互聯,為您提供用戶體驗、商城網站、網站營銷、建站公司、軟件開發、企業建站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯