流文件下载

常用于excel、zip下载

axios写法

  • 设置服务器响应数据类型

     responseType:"blob"
    
    例子
  • 接收转换流文件

      batteryQrcode(this.searchpar)
      .then(res => {
        const content = res.data;
        const blob = new Blob([content]); //构造一个blob对象来处理数据
        const fileName = "test.zip";//excel使用 "test.xls"、zip使用test.zip
        if ("download" in document.createElement("a")) {
          //支持a标签download的浏览器
          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);
        }
      })
      .catch(err => {
        console.log(err);
      }); 
    
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。