当前位置: 代码迷 >> 综合 >> vue axios 二进制文件 下载 乱码
  详细解决方案

vue axios 二进制文件 下载 乱码

热度:72   发布时间:2023-11-11 07:55:29.0

注意

1.一定要在请求的头部添加blob来获取二进制流
2.要确定接口请求方式params,data
3.通过建立原数a 触发 href 来进行下载事件

请求是时候一定要请求头添加 responseType: ‘blob’, 来获取二进制流

axios({
    method: 'post',responseType: 'blob',url: process.env.BASE_API + '接口地址',params: form}).then(response => {
    console.log(response.data, 'cg')var timestamp = Date.parse(new Date()) // 获取当前时间戳const link = document.createElement('a')// 创建下载元素const url = window.URL.createObjectURL(new Blob([response.data]))// 创建下载的链接link.style.display = 'none'link.href = urllink.setAttribute('download', '区域销售导出-' + timestamp + '.xls')// 名字document.body.appendChild(link)link.click()// 点击下载link.remove()// 下载完成移除元素}).catch(response => {
    })
  相关解决方案