@Wangww0925
2019-08-07T05:51:46.000000Z
字数 1447
阅读 321
vue_axios
全部代码:
this.$http({url: `${process.env.API_ROOT}/debtTransferInfo/export?startTime=${this.exportInfo.startAndEndTime[0]}&endTime=${this.exportInfo.startAndEndTime[1]}`,method: 'get',responseType: 'blob',headers: {Authorization: this.$store.state.token}}).then((result)=>{if (result.data){let blob = new Blob([result.data],{type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" //将会被放入到blob中的数组内容的MIME类型})let url = window.URL.createObjectURL(blob); // 创建下载的链接let link = document.createElement('a');link.style.display = 'none';link.href = url;link.download= '债转业务报表.xlsx'; // 载后文件名document.body.appendChild(link);link.click(); // 点击下载document.body.removeChild(link); // 下载完成移除元素window.URL.revokeObjectURL(url); // 释放掉blob对象this.exportInfo.exportVisible = false; // 关闭弹窗}},(res)=>{console.log("res: ", res)})
以下对代码进行说明:
告诉服务器我们需要的响应格式
responseType: 'blob',
token:
headers: {Authorization: this.$store.state.token}
文件流处理:
let blob = new Blob([result.data],{type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" // 将会被放入到blob中的数组内容的MIME类型,此处是.xlsx文件})let url = window.URL.createObjectURL(blob); // 创建下载的链接
MIME类型参考: mime.json16.8kB
实现下载:
let link = document.createElement('a');link.style.display = 'none';link.href = url;link.download= '债转业务报表.xlsx'; // 载后文件名document.body.appendChild(link);link.click(); // 点击下载document.body.removeChild(link); // 下载完成移除元素window.URL.revokeObjectURL(url); // 释放掉blob对象
作者 wendy
2019 年 7月 3日
