如何使用s3键属性使用节点js将二进制文件上载到s3

时间:2017-04-16 03:06:16

标签: node.js amazon-s3

我需要从 s3存储桶下载并解压 tar.gz 文件并上传到另一个存储桶。文件正确下载并且结果使用 s3.getObject 返回二进制数据

我需要将二进制数据(文件)传递到 s3 存储桶,使用 s3.putOBject 进行上传。

但是当我们推送名称”必须为 s3.putOBject 中的“Key”参数提供什么>二进制文件到s3.putObject 。请帮助我。

这是我的代码

var bucketName = "my.new.Bucket-Latest";

var fileKey = "Employee.tar.gz";

var params = { Bucket: bucketName, Key: fileKey };

s3.getObject(params, function(err, data,callback) {
if (err) {
    console.log(err);
    callback(err);
} 
else {
    zlib.gunzip(data.Body, function (err, result) {
        if (err) {
            console.log(err);
        } else {
            var extractedData = result;
            s3.putObject({
            Bucket: "bucketName",
            Key: " ",
            Body: extractedData,
            ContentType: 'content-type'
            }, function (err) {
                 console.log('uploaded file: ' + err);
            });
        }
    });
  }
});

1 个答案:

答案 0 :(得分:0)

即使你自己的代码说,那个键是文件名。只需生成一些文件名并分配给key属性。它就像文件系统。在创建新文件时,您应该为其指定一些名称。