• axios 如何获取下载文件的进度条


    exportFun(){
            let _that = this
            const instance = this.axios.create({
              onDownloadProgress: function(ProgressEvent) {
                const load = ProgressEvent.loaded;
                const total = ProgressEvent.total;
                const progress = (load / total) * 100;
                console.log(progress);
                bar.style.width=(progress) + "%";
                $("#total").html( Math.floor(progress) + "%")
                if(progress == 100){
                  _that.$emit('exportDataFun',this.needData)
                  _that.isDownLoad = false
                }
              } 
            });
            let ajaxUrl,fileName
            if(this.isCanClick){
              let _that =this
              _that.isCanClick = false
              instance({
                url: ajaxUrl,
                method: "post",
                data: this.needData,
                responseType: "blob" //application/octet-stream
              }).then(res => {
                const data = res.data
                  let r = new FileReader()
                  r.onload = function () {
                    try {
                      let resData = JSON.parse(this.result)
                      console.log(resData)
                      if (resData && resData['code'] && resData['code'] != '1000') {
                        _that.$Message.info(resData.msg);
                        _that.isDownLoad = false
                      }
                    } catch (err) {
                      // 兼容ie11
                      if (window.navigator.msSaveOrOpenBlob) {
                        try {
                          const blobObject = new Blob([data])
                          window.navigator.msSaveOrOpenBlob(blobObject, fileName)
                        } catch (e) {
                          console.log(e)
                        }
                        return
                      }
                      this.download(data, fileName)
                      alert('导出成功')
                    }
                  }
                  r.readAsText(data) // FileReader的API
              }).catch(e => {
                let msg = "网络异常";
                alert(msg);
              });
  • 相关阅读:
    词法分析程序~总结
    0916 词法分析程序
    0909 编译原理
    1029 文法分析
    0916 编译原理第二次上机作业
    0909 编译原理第一次上机作业
    复利计算之回顾并总结这三次实验
    复利计算之说明代码运行结果和功能点
    操作系统之实验0 了解和熟悉操作系统
    12-16 实验四 递归下降语法分析程序设计
  • 原文地址:https://www.cnblogs.com/jiajiamiao/p/11607791.html
Copyright © 2020-2023  润新知