1.首先创建 下载的方法
- 先创建一个
blob类文本对象(Binary large object),用它来虚拟表示一个文件。 - 再用
window.URL.createObjectURL来生成blob对象URL。这个对象URL是一个DOMString,可以用在href和src之类的属性上。 - 创建一个隐藏的
<a>标签。 - 设置
<a>标签的href和download属性。 - 触发这个
<a>标签的click事件,实现下载。 - 用
setTimeout()延时一小段时间,让click()事件充分响应。 - 延时过后,
revokeObjectURL释放由createObjectURL创建的 object URL。当该 object URL 不需要的时候,我们要主动调用这个方法,获取最佳性能和内存使用。
已经封装成一个函数,filename是保存的文件名,content是保存到这个文件中的内容:
function download(filename, content) {
var blob = new Blob([content], {type: 'text/plain'});
var url = window.URL.createObjectURL(blob);
var a = document.createElement('a');
a.style = "display: none";
a.href = url;
a.download = filename;
document.body.appendChild(a);
a.click();
setTimeout(function () {
document.body.removeChild(a);
window.URL.revokeObjectURL(url);
}, 5);
}
2 。创建点击事件
调用上边的方法即可实现下载
1904

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



