流文件下载

常用于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);
      }); 
    

你可能感兴趣的:(流文件下载)