请求头设置header.filename
axiosGetDownload(url, params, filenameExt = "下载文件") {
return new Promise(function (resolve, reject) {
axios .get(url + "?" + qs.stringify(params), {
headers: {
"Content-Type": "multipart/form-data",
token: sessionStorage.getItem("token"),
},
responseType: "arraybuffer",
})
.then((res) => {
const blob = new Blob([res.data]);
const filename = res.headers? res.headers["filename"]: filenameExt + ".xlsx"; //自定义下载文件名称
const a = document.createElement("a");
const url = window.URL.createObjectURL(blob);
a.href = url;
a.download = decodeURI(filename);
const body = document.getElementsByTagName("body")[0];
body.appendChild(a);
a.click();
body.removeChild(a);
window.URL.revokeObjectURL(url);
})
.catch((res) => {
reject(res);
});
});