vue后端返回二进制流前端如何下载

项目使用的axios这里一axios为例
首先在发起请求前的设置:

const ajax =  axios.create({responseType:"arraybuffer"})

设置responseType类型,如果不设置下载的excel会乱码
然后处理返回的数据

let res = //你要发起请求的接口
let blob = new Blod([res.data],{type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"})
const BlobUrl = window.URL.createObjectURL(blob)
let a = document.createElement('a')
//a.download = fileName // 如若需要自定义文件名则加上这句
a.href = BlobUrl 
a.click()
URL.revokeObjectURL(blobUrl) 
document.body.removeChild(a)
//最后销毁URL和移除a标签
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容