以前的文件下载可以直接通过
a
标簽链接跳转或者window.open()
等都是打开页面方式直接处理。
但这次的vue项目中因为后台需要通过请求头部信息拿token信息,就导致上面的直接打开页面方式失效只能通过blob实现流文件的下载。
从网上查了些方法后面采用了下面这种实现方式。具体每个模块的代码意思还不是很清楚后續会在补充,此处直接先给出源码
- : 采用了原生的
XMLHttpRequest
方式和blob
方式。——此方法试验有效目前在用。 - :给出了3种解决方案(都是结合
axios
请求方式):有的采用js-file-download
方案;有的采用blob
方式——还没有验证,不知道效果如何? - 详细给出了axios的配置此处主要参考下
responseType
的配置项。