1、访问接口加上: responseType: ‘blob’

2、js 方法: 文件下载的方法
/**
* data: 接口返回的数据
* fileName: 文件名称
* 文件名可从头拿:let _fileName = res.headers['content-disposition'].split(';')[1].split('=')[1];
*/
downloadExcel(data, fileName){
let blob = new Blob([data], {type: "application/vnd.ms-excel"});
const downloadElement = document.createElement('a');
const href = window.URL.createObjectURL(blob); // 创建下载的链接
downloadElement.href = href;
downloadElement.download = decodeURI(fileName); // 下载后文件名
document.body.appendChild(downloadElement);
downloadElement.click(); // 点击下载
document.body.removeChild(downloadElement); // 下载完成移除元素
window.URL.revokeObjectURL(href); // 释放掉blob对象
}
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
您必须登录才能参与评论!
立即登录
也可以,就看后端以什么方式传流数据了,或者后端可以直接以流的形式输出,最终就是一个下载接口,前段只需要调用一下接口,也可以实现下载
后端生成excel 只需要设置contentType,前端生成excel只要设定a download=