表格从后端下载打开报错的坑
作者:互联网
在项目中写到excel的下载功能,但是后台一直有报错,提交参数正确。
首先排查生成文件时后端是否有错
排除后端之后,通过测试工具下载的文件发现又是可以打开的
那肯定是前端哪里出了问题。经过一系列百度,发现返回的是文件流
需要在使用axios的时候,配置上responseType: 'blob’最后就可以打开了
这个地方如果responseType设为blob的话,返回的文件流将会被转成blob对象,就可以正常。
网上也有说:发现最坑的是mockjs的引入,mockjs会影响responseType的设置转换,项目中注释掉mockjs即可实现成功blob的转换(https://www.jianshu.com/p/bed4e8ae10ba)
话不多说,直接上代码
export function aa(data) {
return request({
headers: { headers},
responseType: "blob",
url: `xx/xx`,
method: 'post',
data: data
})
}
标签:responseType,从后,表格,文件,报错,blob,mockjs,data 来源: https://blog.csdn.net/Cheris_LT/article/details/115769169