1.本人业务是需要点击一个按钮导出对应的excel数据并在浏览器下载该文件。
2.个人遇到的坑有两点:
- 我们在做响应拦截器时没有考虑到流文件的情况,当时为了方便,就对响应的内容统一做了处理,只拿到response.data数据。
- 在写请求函数时,必须要有responseType:'blob'。
3.在业务代码中的实现
exportData(obj).then({
onst blob = new Blob([res.data]);
//saveAs(blob, "加班统计表.xls");
const file = window.URL.createObjectURL(blob);
console.log("log", blob);
const a = document.createElement("a");
a.download = `加班统计表.xls`;
a.href = file;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
})
c
特此记录,以期提醒。