react项目中遇到前端在处理后端传来的文件流实现导出Excel文件功能,responseType:'blob'类型设置无效问题。
axios请求设置responseType: 'blob' 返回类型
const axios = require('axios');
export() {
const token = sessionStorage.getItem('token');
axios({
method: 'post',
url: `/list/downXlsx`, // 请求地址
data,
responseType: 'blob', // 表明返回服务器返回的数据类型 这里注意要加上responseType
headers: {
Authorization: `Bearer${token}`
}
}).then((res) => { // 处理返回的文件流
const blob = new Blob([res.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' })
const fileName = 'down.xlsx'
const alink = document.createElement('a')
alink.download = fileName
alink.style.display = 'none'
alink