• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    實例講解javascript實現異步圖片上傳方法

    來源:懂視網 責編:小采 時間:2020-11-27 22:24:25
    文檔

    實例講解javascript實現異步圖片上傳方法

    實例講解javascript實現異步圖片上傳方法:我們首先看下HTML代碼實現的form提交部分。其中大家在測試的時候需要把test的URL更換成自己的,也可以直接寫一個本地地址測試。 html代碼: <form id=uploadForm action=http://storage.test.com/file/upload metho
    推薦度:
    導讀實例講解javascript實現異步圖片上傳方法:我們首先看下HTML代碼實現的form提交部分。其中大家在測試的時候需要把test的URL更換成自己的,也可以直接寫一個本地地址測試。 html代碼: <form id=uploadForm action=http://storage.test.com/file/upload metho

    我們首先看下HTML代碼實現的form提交部分。其中大家在測試的時候需要把test的URL更換成自己的,也可以直接寫一個本地地址測試。

    html代碼:

    <form id="uploadForm" action="http://storage.test.com/file/upload" method="post" enctype="multipart/form-data">
     <input type="hidden" name="key" id="key" value="VTZ18HM64#D_L3WX" />
     <input type="file" name="uploadFiles" value="" id="fileImage" multiple='multiple' />
     <div class="upload_submit">
     <button type="button" id="fileSubmit" class="upload_btn">保存</button>
     </div>
    </form>

    js代碼:

    var Fileupload = {
     fileInput: $("#fileImage").get(0),
     dragDrop: $("#fileDragArea").get(0),
     upButton: $("#fileSubmit").get(0),
     url: $("#uploadForm").attr("action"),
     })(),
     //文件上傳
     funUploadFile: function() {
     var self = this;
     for (var i = 0, file; file = this.fileFilter[i]; i++) {
     (function(file) {
     var xhr = new XMLHttpRequest();
     if (xhr.upload) {
     // 上傳中
     xhr.upload.addEventListener("progress", function(e) {
     self.onProgress(file, e.loaded, e.total);
     }, false);
     // 文件上傳成功或是失敗
     xhr.onreadystatechange = function(e) {
    
     if (xhr.readyState == 4) {
     if (xhr.status == 200) {
     self.onSuccess(JSON.parse(xhr.responseText));
     self.funDeleteFile(file);
     if (!self.fileFilter.length) {
     //全部完畢
     self.onComplete();
     }
     } else {
     self.onFailure(file, xhr.responseText);
     }
     }
     };
     //準備FormData對象
     var myForm = document.getElementById('uploadForm');
     //將文件放入FormData對象中
     formData = new FormData(myForm);
    
     // 開始上傳
     xhr.open("POST", self.url, true);
     xhr.send(formData);
     }
     })(file);
     }
     },
     init: function() {
     var self = this;
     //上傳按鈕提交
     if (this.upButton) {
     console.log('提示: 當前存儲服務器地址', this.url)
     this.upButton.addEventListener("click", function(e) {
     self.funUploadFile(e);
     }, false);
     }
     self.bindEvent();
     }
     };
     Fileupload = $.extend(Fileupload);
     Fileupload.init();

    FormData 異步上傳文件

    <input type="file" id="file">

    一、創建FormData放入待上傳文件

    //準備FormData對象
    var formData = new FormData(),
     uploadFile = document.getElementById('file');
     
    //將文件放入FormData對象中 
    formData.append('file', uploadFile.files[0]);

    二、通過xhr發送FormData數據到服務器,實現文件上傳

    //創建xhr對象
    var xhr = new XMLHttpRequest();
    
    //監聽文件上傳進度
    xhr.upload.onprogress = function(evt){
     //lengthComputabel: 文件長度是否可計算
     if(evt.lengthComputable){
     //evt.loaded: 已下載的字節數
     //evt.total: 文件總字節數
     var percent = Math.round(evt.loaded*100/evt.total);
     console.log(percent);
     }
    }
    
    //監聽文件傳輸開始 
    xhr.onloadstart = function(evt){
     xhr.abort() //終止上傳
    }
    
    //監聽ajax成功完成事件
    xhr.onload = function(evt){
     ...
    }
    
    //監聽ajax錯誤事件 
    xhr.onerror = function(evt){
     ...
    }
    
    //監聽ajax被中止事件
    xhr.onabort = function(evt){
     ...
    }
    
    //監聽傳輸結束事件: 不管成功或者失敗都會觸發
    xhr.onloaded = function(evt){
     ...
    }
     
    //*發起ajax請求數據
    xhr.open('POST', '/url', true);
    xhr.send(formData);

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    實例講解javascript實現異步圖片上傳方法

    實例講解javascript實現異步圖片上傳方法:我們首先看下HTML代碼實現的form提交部分。其中大家在測試的時候需要把test的URL更換成自己的,也可以直接寫一個本地地址測試。 html代碼: <form id=uploadForm action=http://storage.test.com/file/upload metho
    推薦度:
    標簽: 講解 js 例子
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 日韩精品国产自在欧美| 久久久精品国产亚洲成人满18免费网站 | 午夜欧美精品久久久久久久| 亚洲精品高清国产一久久| 久久er99热精品一区二区| 下载天堂国产AV成人无码精品网站 | 亚洲综合国产精品| 国产成人精品高清在线观看93| 在线观看国产精品普通话对白精品| 精品欧美一区二区在线观看| 中文字幕亚洲精品资源网| avtt天堂网久久精品| 午夜欧美精品久久久久久久| 亚洲国产精品激情在线观看| 久久久久亚洲精品中文字幕| 国产精品永久久久久久久久久| 午夜精品美女写真福利| 精品视频一区二区三区在线观看 | 国产亚洲精品国看不卡| 办公室久久精品| 欧美一卡2卡3卡四卡海外精品| 国产精品国产三级专区第1集| 国产精品自在线拍国产| 精品久久久久久久久午夜福利| 日韩精品极品视频在线观看免费| 亚洲精品欧美二区三区中文字幕 | 国产精品欧美亚洲韩国日本久久| 亚洲国产综合91精品麻豆| 久久九九有精品国产23百花影院| 91麻豆精品国产| 国产精品第12页| 精品视频第一页| 亚洲码国产精品高潮在线| 欧美精品亚洲精品日韩| 成人国内精品久久久久影院| AV无码精品一区二区三区| 国产精品igao视频网网址| 国产成人亚洲合集青青草原精品| 福利姬在线精品观看| 欧美精品第一页| 国产精品99久久久久久宅男|