vue附件下载无法打开的问题及解决
更新时间:2024年07月27日 10:30:21 作者:王红珠
这篇文章主要介绍了vue附件下载无法打开的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
vue附件下载无法打开
描述
最近做了一个excel导出功能,在浏览器地址栏直接请求接口可以正常下载,但在vue项目里请求接口返回值为一堆乱码
如下图:

代码如下:

查阅资料后
知道需要将后端java返回的文件流处理为blob,并下载
代码如下:

现在文件可以导出了,但是导出的文件无法查看
如下图:

最终解决方案为在请求中添加 responseType: 'blob'
代码如下:
const params = {
siteId: this.siteId,
beginDate: this.dateValue[0],
endDate: this.dateValue[1]
}
axios.get('/ui/sacstatistics/getStatisticsExcel', { params, responseType: 'blob' }).then((res) => {
const data = res.data
let blob = new Blob([data], {
type: 'application/vnd.ms-excel'
})
let url = window.URL.createObjectURL(blob)
let a = document.createElement('a')
a.href = url
a.download = '网站内容更新统计.xlsx' // 自定义文件名称
a.click()
})
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
使用vue-json-viewer实现JSON数据可视化详解
vue-json-viewer 是一个用于在 vue.js 应用中展示 JSON 数据的插件,它提供了一种直观和美观的方式来可视化 JSON 数据,下面我们来看看如何使用它进行JSON数据可视化吧2025-01-01
Vue3-KeepAlive,多个页面使用keepalive方式
这篇文章主要介绍了Vue3-KeepAlive,多个页面使用keepalive方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-08-08
vue中$nexttick,$set,$forceupdate的区别
本文主要介绍了vue中$nexttick,$set,$forceupdate的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-07-07
Vuex管理dialog、toast等常见全局性组件状态时唯一性的问题解决
工作中经常会用到类似于 dialog、toast、popover 等一些状态提示组件,这篇文章主要介绍了Vuex管理dialog、toast等常见全局性组件状态时唯一性的问题,需要的朋友可以参考下2022-11-11


最新评论