-
后台返回的文件名一般都在请求头中,我们需要从请求头里面进行提取
-
请求的时候类型为blob类型
image.png -
在响应拦截中获取文件名并返回
image.png -
调用下面的方法进行下载及设置文件名
// 将后台返回的二进制流进行转换为xsl,并下载
export const exportXsl = (res, title = '卡模板列表.xlsx') => {
let fileUrl = URL.createObjectURL(res.data);
let a = document.createElement('a');
a.setAttribute('href', fileUrl);
a.setAttribute('download', res.filename ?? title);
document.body.appendChild(a);
a.click();
document.body.removeChild(a); // 移除dom元素
window.URL.revokeObjectURL(fileUrl); // 释放bolb内存
};
网友评论