背景介绍:前端下载一个文件后,获取二进制流数据,通过响应头ResponseHeaders中的Content-Disposition属性读取文件名,最终实现正在下载excel。项目中封装了axios,拦截响应如下。红框内的内容是后面添加的。当判断下载完成后,返回response,这样在组件中调用接口时,就可以读取到需要的headers了。信息,axios文档响应结构如下,headers中包含我们需要的内容,对于下载,默认接口不会返回Content-Disposition字段,header中的Content-Disposition属性是后端同学新增,具体设置如“Access-Control-Expose-Headers:Content-Disposition”。之后只要解析组件中的文件名就可以下载了。因为在response拦截中返回了response,需要注意的是下载时读取的数据要在res.data之上。有问题欢迎指正,交流。
