当前位置: 首页 > 知识库问答 >
问题:

前端 - axios接口请求下载文件,但是获取不到header信息?

颛孙信厚
2023-06-20
axios({
  url: 'url',
  method: 'POST',
  responseType: 'blob', // Set the response type to 'blob'
}).then((response) => {
  console.log(response);
  console.log(response.headers['content-disposition']); // undefined
});

axios接口请求下载文件,但是获取不到header信息?

但是接口响应头确实有返回
image.png

打印的response的headers中却没有content-disposition
image.png

共有2个答案

燕朝明
2023-06-20

出于安全考虑,JS 能拿到的 response header 是有限的,参考这个文档:

Forbidden header name

鄢修德
2023-06-20

目测是跨域接口,而且用的是 CORS 方案。

CORS 里默认只有如下七个响应标头可以被 JS 读取到:

  • Cache-Control
  • Content-Language
  • Content-Length
  • Content-Type
  • Expires
  • Last-Modified
  • Pragma

其余的需要服务端显式返回 Access-Control-Expose-Headers

https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Acc...
 类似资料:
  • 我试图用Axios向一个需要API密钥作为头的API发出get请求,但我不确定我做错了什么。控制台中有两个错误。1:xhr。js:178个选项https://api.propublica.org/congress/v1403(禁止)。2:加载失败https://api.propublica.org/congress/v1:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“access co

  • 发送请求成功了,并且接口返回的状态值是200,但是却报错,没写then和catch

  • cmf_get_file_download_url($file, $expires = 3600) 功能 获取文件下载链接 参数 $file: string 文件路径,数据库里保存的相对路径 $expires: int 过期时间,单位 s 返回 string 文件链接

  • X2.2.0新增 sp_get_file_download_url($file,$expires=3600) 功能: 获取文件下载链接 参数: $file: 数据库保存的文件路径 $expires:文件过期时间(七牛) 返回: 类型string,文件下载链接 使用: $url = sp_get_file_download_url('portal/23232.png');

  • cmf_get_file_download_url($file, $expires = 3600) 功能 获取文件下载链接 参数 $file: string 文件路径,数据库里保存的相对路径 $expires: int 过期时间,单位 s 返回 string 文件链接

  • 问题如题: 后端提供了一个接口地址是用来查询用户信息的,用管理员账号进入菜单则没有任何问题,但是换一个普通用户则请求都发不出去。 1.发送请求的截图 2.请求不通那个账号的请求截图 排查方式: 1.通过postman请求nginx,设置不同token,管理员token正常返回,普通用户token,则长时间等待后,返回nginx的404页面。 2.通过postman请求后端gateway网关应用,使