gz、zip等压缩文件postman成功下载但是前端项目中下载解压失败

原因:

  • axios的配置错误和版本过低
  • 错误的前端代码尝试通过axios.post()下载文件,但未正确设置responseTypeContent-Type
  • 解决方案:更新axios版本并调整axios请求方式,确保responseType为'arraybuffer'
bash 复制代码
 const raw = JSON.stringify({
    //查询参数
  })

  axios({
    method: 'post',
    url: `请求链接`,
    data: raw,
    responseType: 'arraybuffer',	//1、注意:responseType arraybuffer
    headers: {
      'Content-Type': 'application/json; application/octet-stream', 	//2、注意Content-Type其他的
      Authorization:
        'Bearer xxxx'
    }
  }).then(function (data) {
    console.log(data)
    const blob = new Blob([data.data], { type: 'application/gzip' })	//'application/zip'
    const downloadUrl = window.URL.createObjectURL(blob)
    const link = document.createElement('a')
    link.href = downloadUrl
    link.setAttribute('download', 'file.gz') //file.zip
    document.body.appendChild(link)
    link.click()
    document.body.removeChild(link) //下载完成移除元素
    window.URL.revokeObjectURL(downloadUrl) //释放blob对象
  })
相关推荐
Web极客码1 分钟前
如何跟踪你WordPress网站的SEO变化
前端·搜索引擎·wordpress
横冲直撞de20 分钟前
高版本electron使用iohook失败(使用uiohook-napi替代)
前端·javascript·electron
_Eden_21 分钟前
认识Electron 开启新的探索世界一
前端·javascript·electron
~怎么回事啊~21 分钟前
electron中调用C++
前端·javascript·electron
海上彼尚24 分钟前
electron-vite 构建后路由失效问题
前端·javascript·electron
OpenIM26 分钟前
零基础构建开源项目OpenIM桌面应用和pc web- Electron篇
前端·electron·开源
缘来是黎27 分钟前
Python 进阶:生成器与上下文管理器
java·前端·python
HsuYang40 分钟前
Vite源码学习(十一)——热更新(中)
前端·javascript·架构
不怕麻烦的鹿丸1 小时前
web前端录制canvas视频和video的声音,并合并成一个文件进行下载
前端·javascript·音视频·canvas
我不当帕鲁谁当帕鲁1 小时前
arcgis for js实现平移立体效果
前端·javascript·arcgis