/**根据 url + fileName下载文件,并更改文件名 - 就让风继续吹吧 - 博客园
* 获取 blob
* @param {String} url 目标文件地址
* @return {cb}
*/function getBlob(url, cb) {
varxhr =new XMLHttpRequest();
xhr.open("GET", url,true);
xhr.responseType = "blob";
xhr.onload =function() {
if(xhr.status === 200) {
cb(xhr.response);
}
};
xhr.send();
}/**
* 保存
* @param {Blob} blob
* @param {String} filename 想要保存的文件名称
*/function saveAs(blob, filename) {
if (window.navigator.msSaveOrOpenBlob) {
navigator.msSaveBlob(blob, filename);
} else {
varlink = document.createElement("a");
varbody = document.querySelector("body");
link.href = window.URL.createObjectURL(blob);
link.download = filename;
// fix Firefoxlink.style.display = "none";
body.appendChild(link);
link.click();
body.removeChild(link);
window.URL.revokeObjectURL(link.href);
}
}/** * 下载 * @param {String} url 目标文件地址 * @param {String} filename 想要保存的文件名称
* 将此方法暴露出去
*/export defaultfunction download(url, filename) {
getBlob(url, function(blob) {
saveAs(blob, filename);
});
}