如何解析后端返回的二进制文件流

问题:

在直接调用后端下载接口时,经过封装的二次函数,前端收到的接口响应会是有堆乱码

于是进行了以下操作

1.调用的接口不能经过自己写的封装

//导出excel
export const $exportExcel = ({ data = {} } = {}) => http.post('libraryBooks/exportExcel', data, {
    responseType: 'blob',//最关键的一步
    transformResponse: (d) => {
        return { code: 200, data: d }
    },
    headers: { Authorization: localStorage.getItem('token') }

})

 2.在调用的地方添加这些代码

 async excelimport() {
      
      let a = await $exportExcel();
      var blob = new Blob([a.data], { type: a.data.type });
      var link = document.createElement("a");
      link.href = URL.createObjectURL(blob);
      link.download = "导出.xlsx";
      link.click();
    },

如此就能解决

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值