前端处理后端接口返回的二进制数据流并下载成文件

1、首先看没处理时接口返回的数据,会发现是乱码的。。。

 

2、解决乱码需要在请求接口时,加上配置responseType:  'blob',例如在vue中使用axios的http请求

 

 加上之后返回的数据就是这样的

 

 3、接下来就是处理数据文件并下载

const url = window.URL.createObjectURL(res.data) // 将二进制文件转换为可访问的url
const a = document.createElement('a')
document.body.appendChild(a)
a.href = url
a.download = 'certificate.tar.gz'
a.click()
window.URL.revokeObjectURL(url)

 

posted @ 2022-02-25 16:04  正经的流刺源  阅读(2501)  评论(0编辑  收藏  举报