实时监听文件上传进度、取消上传

          this.source = axios.CancelToken.source();
          axios({
            method: 'post',
            url: baseUrl + url,
            headers: {
              'Content-Type': 'multipart/form-data;'
            },
            data: formData,
            cancelToken: this.source.token,//监听取消上传接口
            onUploadProgress(e) {//监听上传进度
              if (e.lengthComputable) {
                let rate = Math.round((e.loaded * 100) / e.total);
                if (rate < 100) {
                  that.percentage = rate
                }
              }
            }
          }).then(response => {
              //上传成功,进度设为100%
              that.percentage = 100
            }).catch(error => {
              if (error.message != 'cancel') {
                //取消上传处理
              }
            });

//取消方法
          if (this.source) {
            this.source.cancel('cancel');
          }

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容