处理后端返回blob文件流的函数
/**
*
* @param {binary large object} data //blob文件流
*/
const excelDown = (data) => {
const blob = new Blob([data]); // 把得到的结果用流对象转一下
var a = document.createElement("a"); //创建一个<a></a>标签
a.href = URL.createObjectURL(blob); // 将流文件写入a标签的href属性值
a.download = "新生模板.xlsx"; //设置文件名
a.style.display = "none"; // 障眼法藏起来a标签
document.body.appendChild(a); // 将a标签追加到文档对象中
a.click(); // 模拟点击了a标签,会触发a标签的href的读取,浏览器就会自动下载了
a.remove(); // 一次性的,用完就删除a标签
}
函数的使用
// 下载
const downloadFile = async () => {
const res = await downStudent()
// const fileName = decodeURI(res.headers['content-disposition'].split('=')[1])
excelDown(res)
}