本篇内容介绍了“vue怎么使用axios接收流文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
在调用接口成功后如图所示:
现在需要调试下axios.js文件统一拦截
// 导出 const headers = response.headers //console.log(headers['content-type']) 将打印的值,也将后台返回的相应头设置成相同的,我的就是'application/octet-stream;charset=UTF-8',然后返回response if (headers['content-type'] == 'application/octet-stream;charset=UTF-8') { return response; }
现在需要注意headers[‘content-type’] 不一定是 ‘application/octet-stream;charset=UTF-8’
在接口调用时需要设置axios的相应类型,responseType: “blob”
this.axios({ method: "get", url: "/dafw/cljsdc", params: data, responseType: "blob" }) .then(res => { let blob = new Blob([_res]); let downloadElement = document.createElement("a"); let href = window.URL.createObjectURL(blob); //创建下载的链接 downloadElement.href = href; downloadElement.download = "xxx.xls"; //下载后文件名 document.body.appendChild(downloadElement); downloadElement.click(); //点击下载 document.body.removeChild(downloadElement); //下载完成移除元素 window.URL.revokeObjectURL(href); //释放掉blob对象 ...
“vue怎么使用axios接收流文件”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。