其他分享
首页 > 其他分享> > 表格从后端下载打开报错的坑

表格从后端下载打开报错的坑

作者:互联网

在项目中写到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