You need to enable JavaScript to run this app. Postman带JWT可正常下载Excel 但JS(Axios)中下载的文件损坏
优惠活动
大模型
产品
解决方案
定价
更多

Postman带JWT可正常下载Excel 但JS(Axios)中下载的文件损坏

Axios携带JWT令牌下载Excel文件损坏问题

我需要通过AJAX(使用Axios)下载Excel文件,之所以采用这种调用方式,是因为访问目标资源时必须携带JWT令牌完成鉴权。

目前我接收到的文件响应内容如下所示:

接收到的数据

查看响应内容可以发现,返回的是原始二进制流数据。在Postman中配置好对应令牌后,点击Save and download按钮即可正常获取完整可用的文件。以下是我编写的JS代码:

requestWithFullResponse({
  url: url,
  method: 'GET',
}, this.props.token, false).then((response) => {
  const responseData = response.data

  // 已经试过配置多种文件MIME类型,均无法正常生成可打开的文件
  // var blob = new Blob([responseData], { type: `${response.headers['content-type']};charset=utf-8` });
  // var blob = new Blob([responseData], { type: 'application/octet-stream;charset=utf-8' });
  var blob = new Blob([responseData], { type: 'application/octet-stream' });

  saveAs(blob, filename, true)
}).catch((error) => { console.log('Error downloading file -> ', error); });

当前代码可以正常触发下载流程,但用LibreOffice打开下载得到的文件时,会直接提示文件损坏。我现在有两个待解决的疑问:

  • 我的实现遗漏了什么关键配置,才会导致下载的文件无法正常打开?
  • 有没有办法查看Postman在执行文件下载操作时的底层处理逻辑?

非常感谢大家提供的帮助。


内容的提问来源于stack exchange,提问作者Genarito

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.03 15:36:02