Java教程

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

本文主要是介绍表格从后端下载打开报错的坑,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

在项目中写到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
    })
}
这篇关于表格从后端下载打开报错的坑的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!