element-ui 上傳組件 自定義上傳沒有進度條解決方法


Upload 上傳組件 自定義上傳

使用http-request屬性 覆蓋默認的上傳行為,會向自己定義的方法傳入一個當前上傳實例,
要顯示進度條就需要手動調用onProgress(e)方法

{
    action:""
    data:undefined
    file:File
    filename:"file"
    headers:Object
    onError:onError(err)
    onProgress:onProgress(e)
    onSuccess:onSuccess(res)
    withCredentials:false
}

實現進度條代碼(這里貼出axios的代碼)

let form = new FormData();  
//uploader為之前提到的實例
form.append("file", uploader.file);
axios .post(url,form, {
          headers: {
            "Content-Type": "multipart/form-data"
          },
          onUploadProgress: progressEvent => {
            let percent=(progressEvent.loaded / progressEvent.total * 100) | 0
            //調用onProgress方法來顯示進度條,需要傳遞個對象 percent為進度值
            uploader.onProgress({percent:percent})
          }
        }).then((res)=>{
            //上傳成功 調用onSuccess方法,否則沒有完成圖標
            //處理自己的邏輯
          uploader.onSuccess()
        }).catch((err)=>{
            //上傳失敗 調用onError方法
            //處理自己的邏輯
            uploader.onError()
        })


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM