在 Web 开发中,经常需要从服务器下载文件,例如文档、图片或其他类型的资源。通过使用 XMLHttpRequest 对象,我们可以轻松地发起文件下载请求,并处理响应。本文将介绍如何实现一个名为 downloadFile 的函数,该函数能够从指定的路径下载文件并保存为指定的文件名。
export function downloadFile(filePath, fileName) {
let ajax = new XMLHttpRequest();
ajax.open("GET", filePath, true);
ajax.setRequestHeader("Cache-Control", "no-cache");
ajax.responseType = "blob";
ajax.onload = (e) => {
if (ajax.status === 200) {
let res = e.target.response;
let blob = new Blob([res]);
let aLink = document.createElement("a");
aLink.download = fileName; // 下载文件的名字
aLink.href = URL.createObjectURL(blob);
aLink.click();
// 释放内存
URL.revokeObjectURL(aLink.href);
}
};
ajax.send();
}