直接看代码
let blob = new Blob([res]); // res为接口返回的数据,此时接口返回的是blob格式的数据
let link = document.createElement('a');
link.download = '文件名称.zip';
link.href = URL.createObjectURL(blob); // 文件流生成的url
document.body.appendChild(link);
link.click(); // 模拟按钮点击
URL.revokeObjectURL(link.href); // 释放URL对象
document.body.removeChild(link); // 移除a标签
正常情况下,通过 window.location = url 就可以下载文件。浏览器判断这个链接是资源而不是页面,就会自动下载文件。但是通过文件流生成的url 对应的资源是没有文件名的,需要添加文件名。这时候我们需要创建一个 a 标签实现这个功能。
本文介绍了如何使用JavaScript处理Blob对象并模拟点击事件,以实现从接口获取的blob格式数据转化为可下载的zip文件,重点在于创建a标签并设置其href属性来完成下载过程。
755

被折叠的 条评论
为什么被折叠?



