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

在项目中写到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
    })
}
上一篇:JdbcTemplate中执行结果包含内嵌式实体


下一篇:“以终为始的软件开发”的那些事 : Myths and Truths