2017-04-16 146 views
0

我需要下載並從S3存儲並上傳提取的tar.gz文件到另一個bucket.The文件被正確下載到S3和結果正在返回爲二進制數據使用s3.getObject如何上傳二進制文件使用節點JS使用S3鍵屬性

我需要通過二進制數據(文件)S3桶使用s3.putOBject上傳。

但我不知道什麼是「」在給了「鑰匙」 PARAMS s3.putOBject當我們的二進制文件推送到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); 
      }); 
     } 
    }); 
    } 
}); 

回答

0

良好,即使自己的代碼表示,這關鍵是文件名。只需生成一些文件名並分配給關鍵屬性。這就像文件系統。當你創建一個新文件時,你應該給它一些名字。

+0

我可以給單個文件的名稱。但我上傳多個文件爲二進制文件,在這種情況下,我可以給予的名稱?請給我建議 – vishnu

+0

ManyFilesArchived.gz怎麼樣?我告訴過你和文件系統一樣,bucket只是「文件夾」。 –

+0

我應該迭代每個文件從二進制文件並分配給密鑰?請幫助我如何詳細進行? – vishnu