A 标签下载文件 Header 中带上用于鉴权的 Token

加了统一鉴权以后,可能会把 A 标签下载的接口也给拦截了,但是 A 标签是无法带上 Token 的,本文将介绍如何让 A 标签支持像 Ajax 一样发送请求。

加了统一鉴权以后 如果把下载接口也拦截了 且前端使用的是 a 标签 可以用如下方法解决

替换调请求 url 和请求方式 , 方式一和方式二任意注释一个就可以运行了

方式 1 用的是原生的 XmlHttpRequest 方式 2 用的是 vue 常用的 axios

这两种方式都可以很方便的加入 header

        a 标签触发 ajax            发起 POST 请求     

注意 如果涉及跨域问题 是无法直接拿到 content-disposition 中的 fileName 的

需要在服务端添加 Access-Control-Expose-Headers 指定允许访问的 header

java 代码如下 其他语言同理

response.setHeader("Access-Control-Expose-Headers","Content-Disposition");//指定 Content-Disposition 可以让前端获取

阅读全文: http://gitbook.cn/gitchat/activity/5d81cd6a4613c0350a50d2de

您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。

A 标签下载文件 Header 中带上用于鉴权的 Token_第1张图片

你可能感兴趣的:(A 标签下载文件 Header 中带上用于鉴权的 Token)