前端发送post请求,接受后端返回的文件流实现文件下载
// 导出
submitDownload() {
axios({
url: 'url地址',
method: 'post',
data: this.formInline,
responseType: 'blob' // 重点在于配置responseType: 'blob'
}).then(res => {
const link = document.createElement('a'); // 创建元素
let blob = new Blob([res.data], { type: 'application/vnd.ms-excel' });
link.style.display = 'none';
link.href = URL.createObjectURL(blob); // 创建下载的链接
//num++
link.setAttribute('download', '试算平衡表.xlsx'); // 给下载后的文件命名
document.body.appendChild(link);
link.click(); // 点击下载
document.body.removeChild(link); // 下载完成移除元素
window.URL.revokeObjectURL(link.href); // 释放掉blob对象
})
.catch(_ => {
});
}