NodeJS + AWS SDK + S3 - 如何成功上传zip文件?

时间:2014-09-24 17:31:08

标签: node.js amazon-web-services amazon-s3

我一直在尝试使用AWS NodeJS sdk将gzip压缩日志文件上传到S3,偶尔会发现S3中上传的文件已损坏/被截断。当我在bash终端下载文件并使用gunzip解压缩时,我得到:

  

01-log_2014-09-22.tsv.gz:意外的文件结束。

当我比较文件大小时,下载的文件只会略微缩小原始文件大小(解压缩很好)。

这并不是一直发生的......每三个文件中就有一个被截断。重新上传可以解决问题。通过S3 Web UI上传也可以正常工作。

这是我使用的代码......

var stream = fs.createReadStream(localFilePath);
this.s3 = new AWS.S3();
this.s3.putObject({
    Bucket: bucketName,
    Key: folderName + filename,
    ACL: "bucket-owner-full-control",
    Body: stream,
},function(err) {
//  stream.close();
    callback(err);
});

我不必关闭流,因为它默认为自动关闭,但问题似乎都发生了。

它的断断续续表明它是某种时机或缓冲问题,但我无法找到任何可能影响它的控件。有什么建议吗?

感谢。

0 个答案:

没有答案