• 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
  • 相关阅读:
    插入排序(C语言版)
    2015蓝桥杯分机号(C++C组)
    2015蓝桥杯二项式
    2016蓝桥杯报纸页数(C++C组)
    区块链
    C语言学生管理系统完善版
    数据结构队列
    C语言数据结构队列
    C语言数据结构栈
    javascript 事件
  • 原文地址:https://www.cnblogs.com/javalinux/p/16202329.html
Copyright © 2020-2023  润新知