js

js批量下载文件到本地的方法有哪些

小亿
226
2023-07-22 17:53:24
栏目: 编程语言

在JavaScript中,可以使用以下方法批量下载文件到本地:

  1. 使用a标签的download属性:创建一个a标签,设置其href属性为文件的URL,然后设置download属性为文件名,最后模拟点击a标签实现下载。
function downloadFile(url, fileName) {
var link = document.createElement('a');
link.href = url;
link.download = fileName;
link.click();
}
  1. 使用XMLHttpRequest对象:创建一个XMLHttpRequest对象,发送GET请求获取文件内容,然后创建一个Blob对象,将文件内容作为Blob的参数,最后创建一个URL对象,将Blob对象转换为URL,然后模拟点击a标签实现下载。
function downloadFile(url, fileName) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'blob';
xhr.onload = function() {
if (xhr.status === 200) {
var blob = xhr.response;
var link = document.createElement('a');
link.href = URL.createObjectURL(blob);
link.download = fileName;
link.click();
}
};
xhr.send();
}
  1. 使用fetch函数:使用fetch函数发送GET请求获取文件内容,然后将文件内容作为Blob的参数,最后创建一个URL对象,将Blob对象转换为URL,然后模拟点击a标签实现下载。
function downloadFile(url, fileName) {
fetch(url)
.then(function(response) {
return response.blob();
})
.then(function(blob) {
var link = document.createElement('a');
link.href = URL.createObjectURL(blob);
link.download = fileName;
link.click();
});
}

以上方法都可以实现批量下载文件到本地,只需传入文件的URL和文件名即可。

0
看了该问题的人还看了