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对象
  })
相关推荐
祝余呀3 分钟前
html初学者第一天
前端·html
耶啵奶膘3 小时前
uniapp+firstUI——上传视频组件fui-upload-video
前端·javascript·uni-app
视频砖家3 小时前
移动端Html5播放器按钮变小的问题解决方法
前端·javascript·viewport功能
lyj1689973 小时前
vue-i18n+vscode+vue 多语言使用
前端·vue.js·vscode
小白变怪兽5 小时前
一、react18+项目初始化(vite)
前端·react.js
ai小鬼头5 小时前
AIStarter如何快速部署Stable Diffusion?**新手也能轻松上手的AI绘图
前端·后端·github
墨菲安全6 小时前
NPM组件 betsson 等窃取主机敏感信息
前端·npm·node.js·软件供应链安全·主机信息窃取·npm组件投毒
GISer_Jing6 小时前
Monorepo+Pnpm+Turborepo
前端·javascript·ecmascript
天涯学馆6 小时前
前端开发也能用 WebAssembly?这些场景超实用!
前端·javascript·面试
旷世奇才李先生7 小时前
Selenium 安装使用教程
selenium·测试工具