背景介绍:下载文件,前端获取到二进制流数据后,通过响应头Response Headers中的Content-Disposition属性读取文件名,最终实现下载excel。
项目中对axios进行了一定的封装,其中响应拦截如下,红框部分内容为后来添加的,判断当为下载时,返回response,这样在组件中调用接口时候就能读取到headers中所需要的信息了,
axios文档响应结构如下,headers中就包含了我们所需要的内容,对于下载来说,默认的接口中是不会返回Content-Disposition字段的,header中的Content-Disposition属性是后端同学添加的,具体的像“Access-Control-Expose-Headers: Content-Disposition”这样设置。
之后在组件中解析文件名下载即可,因为在响应拦截中返回了response,需要注意下载时候读取的数据应该是res.data
以上,有问题欢迎指正交流。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。