vue-axios 中使用progress事件,为什么请求失败 event.loaded 等于 event.total

404cat
  • 24

vue-axios 中使用progress事件,为什么请求失败时 event.loaded = event.total ,这样子的话就没有办法算出实时进度条了

问题出现的环境背景及自己尝试过哪些方法

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

 let config = {
      onUploadProgress: (progressEvent: any) => {
        console.log(progressEvent.loaded);
        console.log(progressEvent);
        this.progress =
          (((progressEvent.loaded / progressEvent.total) * 100) | 0) + "%";
        console.log(this.progress);
      }
    }; /* 上传进度事件 */

    Axios.post(`/carrots-admin-ajax/a/u/img/task`, form, config)
      .then(res => {
        console.log(res);
        let message = res.data.message;
        this.uploadInfo(this.files);
        /* 这里上传的是图片名,接口通了以后要更改返回图片的路径 */
      })
      .catch(function() {
        console.log("FAILURE!!");
      }); /* 上传成功的回调,信息在这里面提取,要限制上传图片的大小 */
  } /* 点击上传按钮,发送HTTP请求 */

你期待的结果是什么?实际看到的错误信息又是什么?

大佬们, progress事件哪位大佬熟悉的? 想问一下,

为什么progress事件中的 loaded 在请求失败时和 total是一样的呢?这样的话实时进度条就没有办法实现了呢[图片]
clipboard.png

clipboard.png

可以看到,我这里明明请求失败了,但是loaded还是等于total。
哪位大佬能帮忙解决下,十分感谢!

回复
阅读 2.9k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏