jQuery 批量下载多个文件
时间: 2023-10-05 22:06:52 浏览: 172
你可以使用 jQuery 中的 Ajax 和 Blob 对象来实现批量下载多个文件。以下是一个简单的实现示例:
```javascript
// 文件列表
var files = ["file1.txt", "file2.png", "file3.pdf"];
// 批量下载函数
function downloadAll() {
// 循环下载每个文件
$.each(files, function(index, file) {
// 创建一个 Ajax 请求
$.ajax({
url: file,
method: "GET",
xhrFields: {
responseType: "blob" // 设置响应类型为 Blob 对象
},
success: function(data) {
// 创建一个下载链接
var a = document.createElement("a");
var url = window.URL.createObjectURL(data);
a.href = url;
a.download = file;
// 添加到页面并模拟点击下载
$("body").append(a);
a.click();
// 清理临时 URL 对象
window.URL.revokeObjectURL(url);
}
});
});
}
// 调用批量下载函数
downloadAll();
```
这段代码首先定义了一个文件列表 `files`,然后定义了一个 `downloadAll()` 函数来批量下载这些文件。在函数中,使用 jQuery 的 `$.each()` 函数循环遍历每个文件,对每个文件都创建一个 Ajax 请求,将响应类型设置为 Blob 对象,然后在成功回调函数中创建一个下载链接,模拟点击下载,最后清理临时 URL 对象。
阅读全文