vue+axios通过POST请求下载的文件是乱码
单位现在做先后端分离,然后做到下载文件方面,卡住了,真心的求大佬指教或者给个方向
百度谷歌啥的都搜了半天,不知道是不是关键词错了,还是大家的环境不一样,代码看下来通过axios的好像都不成功,后端(java)写api的小伙伴说之前不分离的页面上点击请求也是这么下载的返回的不会有问题,困扰了好久了,求大佬解惑
相关代码
methods:{
downloadExcel(id){
const data = {}
data.id = id
data.token = this.$store.state.token
this.axios({
method: "POST",
url: '###',
data: qs.stringify(data),
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
responseType: 'arraybuffer'
}).then(function(res) {
let blob = new Blob([res], {type: "multipart/form-data"});
let objectUrl = URL.createObjectURL(blob);
window.location.href = objectUrl;
});
}
}
下面图片是我请求和返回的信息
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
所谓的下载对前端来说就是获取一个文件地址,你应该让后端返回一个地址给你。
使用 blob()
这样写应该就可以了