function downloadFile(url, filename) {
// 创建一个新的XHR对象
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'blob'; // 告诉XHR我们想要获取blob数据
xhr.onload = function() {
if (this.status === 200) {
// 请求成功,获取blob数据
var blob = this.response;
// 创建一个Blob URL
var url = window.URL.createObjectURL(blob);
// 创建一个新的a标签
var a = document.createElement('a');
a.style.display = 'none'; // 隐藏a标签
a.href = url;
// 设置下载文件名
a.download = filename;
// 将a标签添加到文档中
document.body.appendChild(a);
// 模拟点击a标签来触发下载
a.click();
// 清理,移除a标签和释放Blob URL
window.URL.revokeObjectURL(url);
document.body.removeChild(a);
}
};
// 发送请求
xhr.send();
}
// 使用函数下载文件
downloadFile('https://example.com/path/to/file.pdf', 'myfile.pdf');