流文件的处理

后端返回流文件的时候的处理:

axios.get(url, {
    ...config,
    headers: { platform: 'pc' },
    params,
    responseType: 'blob',
  });
  //这里的responseType: 'blob',确定了返回的类型为流

//处理流的方法
getFailData({ uuid })
      // .then(res=>res.blob())
      .then((res) => {
        // 处理返回的文件流
        // 注意 返回的res 无需做任何处理,有时在用框架封装的请求之后会出现返回response.text() 等情况导致文件流下载失败。
        const content = res; //接口返回文件流值
        const blob = new Blob([content]);
        const fileName = '失败数据.xlsx';
        if ('download' in document.createElement('a')) {
          // 非IE下载
          const elink = document.createElement('a');
          elink.download = fileName;
          elink.style.display = 'none';
          elink.href = URL.createObjectURL(blob);
          document.body.appendChild(elink);
          elink.click();
          URL.revokeObjectURL(elink.href); // 释放URL 对象
          document.body.removeChild(elink);
        } else {
          // IE10+下载
          navigator.msSaveBlob(blob, fileName);
        }
      })
      .catch((err) => {
        console.log(err);
      });
  };
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值