对于前端的下载方式有多种,每一种都有自己不同的优略势,下面就一个一个写出对应的优缺点
a便签
a标签是最常见,也最简单的处理方式
<a href="xxx.jpg" download>点击下载</a>
优点
能解决不能直接下载浏览器可浏览的文件
缺点
必须知道下载文件地址
不能跨域下载
有兼容性问题,特别是IE
不能进行鉴权
Blod对象
blod是我第二个经常用的下载方式,将请求的二进制数据转化为blod对象,利用URL.createObjectUrl生成地址,再赋值给a标签
const xhr=new XMLHttpRequest();
xhr.open('get',xxxxx)//xxx为下载地址
xhr.responseType='blob'