小编Ron*_*Ron的帖子

使用节点将 zip 存档文件上传到 S3

我从 api 下载了一个 ziparchive,其中包含 gzipped 文件,我需要获取 gz 文件并保存到 s3。不想解压缩或任何东西。只需移动到S3。

当我打开存档时,它有一个带有随机数的文件夹 /12345/file1.gz 和许多文件 /12345/file2.gz 等。

我尝试过 yauzl 和 adm-zip,但不明白如何获取存档中的每个条目并发送到 s3。我有 s3-stream-upload 包,我可以用它来发送。就是做对了。谢谢你的帮助

yauzl.open("output.zip", {lazyEntries: true}, function(err, zipfile) {
  if (err) console.error('zip err: ', err);
  console.log(zipfile);
  //upload.write(zipfile);
  zipfile.readEntry();
  zipfile.on("entry", function(entry) {

      // file entry
      zipfile.openReadStream(entry, function(err, readStream) {
        if (err) console.error('readstream err: ', err);
        readStream.on("end", function() {
          zipfile.readEntry();
        });
        console.log(entry);
        readStream.pipe(upload) //upload is an s3-upload-stream
        .on('finish', function() { console.log('finished'); })
        .on('error', function(err) { console.error('stream err: ',err); });
      });

  });
});
Run Code Online (Sandbox Code Playgroud)

这让我在结束后写入错误,我认为 bcz …

amazon-s3 node.js ziparchive

5
推荐指数
1
解决办法
4842
查看次数

标签 统计

amazon-s3 ×1

node.js ×1

ziparchive ×1