我从一个API下载了一个zip压缩包,其中包含gzipped文件,我需要将这些gz文件保存到S3中。不想解压或做任何其他操作,只需移动到S3即可。
当我打开存档时,它有一个带有随机数字的文件夹,/12345/file1.gz,并且有许多文件,/12345/file2.gz等等。
我尝试过yauzl和adm-zip,但不明白如何获取存档中的每个条目并发送到S3。我有s3-stream-upload包,可以用它来发送。只是无法正确使用。谢谢您的帮助。
这给了我“写入末尾错误”,我认为是因为readstream是条目/文件的实际数据。我已经在这里一段时间了,需要帮助。谢谢。
当我打开存档时,它有一个带有随机数字的文件夹,/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); });
});
});
});
这给了我“写入末尾错误”,我认为是因为readstream是条目/文件的实际数据。我已经在这里一段时间了,需要帮助。谢谢。