4

我正在使用https://www.npmjs.com/package/s3包从 s3 下载文件夹,但我找不到任何方法来取消下载或中断下载过程。

那么如何中断正在进行的下载或停止下载过程呢?对提供此功能的软件包有什么建议吗?

文件夹大小高达 10GB,文件夹包含 1000 个文件,因此它为同一文件夹创建多个请求。

4

1 回答 1

8

我修改了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

于 2019-03-10T00:11:31.910 回答