如何通过 JavaScript 下载文件195


在 JavaScript 中,可以通过以下步骤下载文件:
创建 XMLHttpRequest 对象:

const xhr = new XMLHttpRequest();


配置请求:

('GET', url, true);
= 'blob';

发送请求:

();


处理响应:

= function() {
if ( === 200) {
// 下载文件
const blob = ;
const filename = getFilenameFromHeader(('Content-Disposition'));
saveBlob(blob, filename);
} else {
// 处理错误
}
};



以下是 JavaScript 下载文件的一些附加说明:

响应类型

在配置请求时,我们将 responseType 设置为 'blob'。这指示浏览器将响应作为 Blob 对象返回,Blob 对象表示原始文件数据。

文件名

为了获取要下载文件的名称,我们可以从 Content-Disposition 头中解析它。此标头通常包含文件名。

保存 Blob

要保存 Blob,我们可以使用以下函数:
function saveBlob(blob, filename) {
// 创建一个指向 blob URL 的链接
const blobUrl = (blob);
// 创建一个用于下载文件的 元素
const link = ('a');
= blobUrl;
= filename;
// 单击链接
();
// 撤销 blob URL
(blobUrl);
}

示例

以下是一个下载文件的 JavaScript 示例:
const xhr = new XMLHttpRequest();
('GET', '/', true);
= 'blob';
= function() {
if ( === 200) {
const blob = ;
const filename = getFilenameFromHeader(('Content-Disposition'));
saveBlob(blob, filename);
} else {
alert('下载文件失败!');
}
};
();

其他方法

除了 XMLHttpRequest,还有一些其他 JavaScript 库可以用于文件下载,例如 jQuery 和 Axios。

2025-01-09


上一篇:JavaScript 提示框

下一篇:前端开发技巧:利用 JavaScript 创建下拉菜单