在Node.js中逐个下载文件可以通过以下步骤实现:
const fs = require('fs');
const https = require('https');
function downloadFile(url, destination) {
return new Promise((resolve, reject) => {
const file = fs.createWriteStream(destination);
https.get(url, (response) => {
response.pipe(file);
file.on('finish', () => {
file.close();
resolve();
});
}).on('error', (error) => {
fs.unlink(destination);
reject(error);
});
});
}
async function downloadFiles(urls, destinationFolder) {
for (let i = 0; i < urls.length; i++) {
const url = urls[i];
const filename = `file${i}.txt`;
const destination = `${destinationFolder}/${filename}`;
try {
await downloadFile(url, destination);
console.log(`File ${filename} downloaded successfully.`);
} catch (error) {
console.error(`Error downloading file ${filename}: ${error}`);
}
}
}
const urls = [
'https://example.com/file1.txt',
'https://example.com/file2.txt',
'https://example.com/file3.txt'
];
const destinationFolder = './downloads';
downloadFiles(urls, destinationFolder);
上述代码中,我们首先导入了fs
模块用于文件操作,以及https
模块用于发起HTTPS请求。然后,我们创建了一个downloadFile
函数,该函数接受一个URL和目标文件路径作为参数,使用HTTPS模块发起GET请求,并将响应数据写入目标文件。如果下载成功,将会调用resolve
函数;如果下载失败,将会调用reject
函数。接下来,我们创建了一个downloadFiles
函数,该函数接受一个URL数组和目标文件夹路径作为参数,使用downloadFile
函数逐个下载文件,并在控制台输出下载结果。最后,我们定义了一个URL数组和目标文件夹路径,并调用downloadFiles
函数来执行下载操作。
请注意,以上代码仅为示例,实际应用中可能需要添加错误处理、进度跟踪等功能。另外,关于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体品牌商,无法提供相关信息。
领取专属 10元无门槛券
手把手带您无忧上云