• vue axios 下载文件 onDownloadProgress total


    this.$http({
            url: this.$http.adornUrl("/fixedAssets/exportData"),
            method: "get",
            responseType: "blob",
            params: this.$http.adornParams(this.ajaxSeachData),
            timeout:1000 * 30000,
            onDownloadProgress: (evt) => {
            
             // 有时候拿不到total值,这个值总是为0
            //只要设置后台的代码  response.setContentLengthLong(文件长度); 就可以了
              alert(evt.total);
    
              this.percentage = parseInt(
                (evt.loaded / evt.total) * 100
              );
              if(this.percentage==100){
                this.progressSuccess='success';
              }
            },
          }).then(({ data }) => {
    
            this.showDownload = false;
            this.downLoadDialogVisible=false;
    
            if (data.code == 500) {
              this.$message.error(data.msg);
            } else {
              const blob = new Blob([data], {
                type: "application/octet-stream; charset=utf-8",
              });
              //对于<a>标签,只有 Firefox 和 Chrome(内核) 支持 download 属性
              //IE10以上支持blob但是依然不支持download
              if ("download" in document.createElement("a")) {
                //支持a标签download的浏览器
                var fileName="IT固定资产"+this.getNowTimeStr()+".xls";
                const link = document.createElement("a"); //创建a标签
                link.download = fileName; //a标签添加属性
                link.style.display = "none";
                link.href = URL.createObjectURL(blob);
                document.body.appendChild(link);
                link.click(); //执行下载
                URL.revokeObjectURL(link.href); //释放url
                document.body.removeChild(link); //释放标签
              } else {
                //其他浏览器
                navigator.msSaveBlob(blob, fileName);
              }
            }
          });

    转自:https://www.jianshu.com/p/5c5a44dc6afb
  • 相关阅读:
    Java学习之路----计算圆形的面积和周长
    数据库系统的基本组成内容
    软件测试的含义以及测试的对象
    wg sync.WaitGroup执行顺序
    go channel
    字符串操作
    scanf
    py停止工作
    jira索引失败
    py kafka
  • 原文地址:https://www.cnblogs.com/javalinux/p/16202329.html
Copyright © 2020-2023  润新知