实现思路:后端将要导出的文件以文件流的方式返回给前端,前端通过blob去解析,再动态创建a标签
具体代码:
this.$proxyapi.history.updataBom().then(
(res) => {
let content = res; // 文件流
let blob = new Blob([content]);
let fileName = "文档关联零部件模板.xls";
if ("download" in document.createElement("a")) {
// 非IE下载
let link = document.createElement("a");
link.download = fileName;
link.style.display = "none";
link.href = URL.createObjectURL(blob);
console.log(link, "----------------文件留");
document.body.appendChild(link);
link.click();
URL.revokeObjectURL(link.href); // 释放URL 对象
document.body.removeChild(link);
} else {
// IE10+下载
navigator.msSaveBlob(blob);
}