参考保留文件文件进行下载:https://blog.csdn.net/dilinying2838/article/details/101254217?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.pc_relevant_is_cache&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.pc_relevant_is_cache

Axios部分
export function getxiazaimoban(query) {
return request({
url: '/clinbrain/api/template/export',
method: 'get',
responseType:'arraybuffer',
ContentType:'application/zip;charset=UTF-8',
params: query
})
}
HTML部分:
downloadGGMB(val) {
getxiazaimoban({
id: val.row.id
})
.then(res => {
方式1:无法保留返回的文件名;
// console.log(res.headers['content-disposition'].split(";")[1].split("filename=")[1])
// let blob = new Blob([res.data],{type:"application/zip"})
// let objectUrl = URL.createObjectURL(blob);
// window.location.href = objectUrl;
方式2:可以保留文件返回的名称;
var filename = res.headers; //下载后文件名
filename = filename["content-disposition"];
filename = filename.split(";")[1].split("filename=")[1];
var blob = new Blob([res.data], {
type: "application/zip"
});
var downloadElement = document.createElement("a");
var href = window.URL.createObjectURL(blob); //创建下载的链接
downloadElement.href = href;
downloadElement.download = filename;
document.body.appendChild(downloadElement);
downloadElement.click(); //点击下载
document.body.removeChild(downloadElement); //下载完成移除元素
window.URL.revokeObjectURL(href); //释放掉blob对象
})
.catch(err => {
msgError(err.message);
});
},