我正在使用 https://www.npmjs.com/package/s3 包从 s3 下载文件夹,但我找不到任何方法来取消下载或中断下载过程。
那么如何中断正在进行的下载或停止下载过程?
对提供此功能的软件包有什么建议吗?
文件夹大小高达 10GB,文件夹包含 1000 个文件,因此它为同一文件夹创建多个请求。
最佳答案
我修改了 s3
模块的代码以允许取消。
这是 PR ,但同时您可以使用我的 fork 进行测试:
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
的方法。关于node.js - 从 S3 下载文件夹时的中断功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54986497/