我正在使用https://www.npmjs.com/package/s3软件包从s3下载文件夹,但是找不到任何取消下载或中断下载过程的方法。
那么我该如何中断正在进行的下载或停止下载过程? 对提供此功能的软件包有何建议?
文件夹大小最大为10GB,并且文件夹包含1000个文件,因此它正在为同一文件夹创建多个请求。
答案 0 :(得分:8)
我修改了s3
模块的代码以允许取消。
const downloader = client.downloadFile(params);
downloader.on('error', function(err) {
console.error('unable to download:', err.stack);
});
downloader.on('cancelled', function() {
console.log('Download was cancelled:');
});
downloader.on('progress', function() {
console.log('progress', downloader.progressAmount, downloader.progressTotal);
});
downloader.on('end', function() {
console.log('done downloading');
});
setTimeout(() => {
downloader.emit('cancel');
}, 2000);
我添加的是一种根据request.abort()
请求调用s3.getObject
的方法。