接口返回数据流格式时导出表格实现方法

本文介绍了如何使用Blob对象将接口获取的二进制流数据转换为可供下载的Excel表格,包括创建Blob实例、设置文件名和URL以及触发下载的过程。务必注意在接口请求中设置responseType为'blob'。

当接口返回数据流格式的数据时,导出表格就需要使用到blob,new Blob([data])用来创建URL的file对象或者blob对象

关于blob,可以查看:https://developer.mozilla.org/zh-CN/docs/Web/API/Blob/Blob

主要实现方式:

此方法可以实现将二进制流数据转为表格下载

// 下载文件
    // data为二进制流数据
    downloadFile(data) {
      const content = data;
      const elink = document.createElement('a');
      // 设置表格名称等信息
      elink.download = `下载的表格.xls`;
      elink.style.display = 'none';
      const blob = new Blob([content]);
      elink.href = URL.createObjectURL(blob);
      document.body.appendChild(elink);
      elink.click();
      document.body.removeChild(elink);
    }

补充:接口调用时,需要设置{ responseType: ‘blob’ }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值