Vue下载Excel后报错,或打不开的解决
更新时间:2024年02月28日 08:44:50 作者:广州第22号吴彦祖
这篇文章主要介绍了Vue下载Excel后报错,或打不开的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
问题描述
后端返回excel文件流后, 在Swagger 和 PostMan上进行下载测试均正常
下载及打开
但是在项目中下载打开却出现: WPS表格在试图打开文件时遇到错误.
如图

问题呢,是我们在发送请求时,没有声明返回的responseType
设置一下就好了
上代码:
// 加上responseTape
export function getSiteElectricDataExcel(data) {
return request({
url:apiURL.newDataSite,
method: 'post',
data,
responseType: 'blob'
})
}
接收后的下载逻辑:
download(){
getSiteElectricDataExport(this.params).then(res=>{
let url = window.URL.createObjectURL(new Blob([res]));
let link = document.createElement("a");
link.style.display = "none";
link.href = url;
// 生成时间戳
let timestamp = name+"_" + new Date().getTime();
link.download = "测试文档.xlsx";
document.body.appendChild(link);
link.click();
})
},
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Vue中传递自定义参数到后端、后端获取数据并使用Map接收参数
有些传递的参数是直接拼接到URL地址栏中的、但是为了统一管理、不能将传递的参数直接拼接到地址栏中,接下来通过本文给大家介绍Vue中传递自定义参数到后端、后端获取数据并使用Map接收参数,感兴趣的朋友一起看看吧2022-10-10


最新评论