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对象
  })
相关推荐
安冬的码畜日常11 小时前
【JUnit实战3_03】第二章:探索 JUnit 的核心功能(二)
测试工具·junit·单元测试·junit 5
533_11 小时前
[vue] dayjs 显示实时时间
前端·javascript·vue.js
故事与他64511 小时前
XSS_and_Mysql_file靶场攻略
前端·学习方法·xss
莫的感情12 小时前
下载按钮点击一次却下载两个文件问题
前端
一个很帅的帅哥12 小时前
JavaScript事件循环
开发语言·前端·javascript
小宁爱Python12 小时前
Django Web 开发系列(二):视图进阶、快捷函数与请求响应处理
前端·django·sqlite
fox_12 小时前
深入理解React中的不可变性:原理、价值与实践
前端·react.js
Github项目推荐12 小时前
你的错误处理一团糟-是时候修复它了-🛠️
前端·后端
Code小翊12 小时前
C语言bsearch的使用
java·c语言·前端
云枫晖12 小时前
Webapck系列-初识Webpack
前端·javascript