使用jQuery下载多个文件的问题可以通过以下步骤解决:
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<button id="downloadBtn">下载文件</button>
$(document).ready(function() {
$('#downloadBtn').click(function() {
var fileUrls = ['file1_url', 'file2_url', 'file3_url']; // 文件URL数组
// 遍历文件URL数组,发送并行的下载请求
$.each(fileUrls, function(index, url) {
$.ajax({
url: url,
method: 'GET',
xhrFields: {
responseType: 'blob' // 设置响应类型为二进制数据
},
success: function(data) {
// 创建一个临时的下载链接
var downloadUrl = window.URL.createObjectURL(data);
// 创建一个隐藏的<a>元素,设置下载链接和文件名
var link = document.createElement('a');
link.href = downloadUrl;
link.download = 'file' + (index + 1) + '.txt';
// 模拟点击下载链接
link.click();
// 释放临时的下载链接
window.URL.revokeObjectURL(downloadUrl);
},
error: function() {
console.log('下载文件失败');
}
});
});
});
});
在上述代码中,我们使用了jQuery的ajax方法发送GET请求,并将响应类型设置为'blob',以便获取二进制数据。成功回调函数中,我们创建了一个临时的下载链接,然后创建一个隐藏的<a>元素,设置下载链接和文件名,最后模拟点击下载链接来触发文件下载。注意,我们使用了window.URL.createObjectURL方法来创建临时下载链接,并使用window.URL.revokeObjectURL方法来释放临时下载链接。
这是一个基于jQuery的下载多个文件的解决方案。希望对你有帮助!如果有其他问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云