2016-06-23 4 views
0

ファイルストリームをパラメータとして直接アップロードしようとしましたが、動作しませんでした。putObjectを使用してNodejsからCSVファイルをAWS S3にアップロードするにはどうすればよいですか?

var param = { 
    Bucket: 'sql-dev', 
    Key: 'Report', 
    Body: new Buffer(fs.createWriteStream('./temp/ALL.csv')) 
}; 
s3bucket.putObject(param, function(err, data){ 
    if(err) console.log(err); 
    else console.log(data); 
}); 

どうすれば使用できますか?

+0

「動作しませんでした」を定義します。 –

答えて

1

書き込みストリームではなく読み取りストリームを使用する必要があります。また、バッファ内にストリームをラップしてはいけません。

var param = { 
    Bucket: 'sql-dev', 
    Key: 'Report', 
    Body: fs.createReadStream('./temp/ALL.csv') 
}; 
s3bucket.putObject(param, function(err, data){ 
    if(err) console.log(err); 
    else console.log(data); 
}); 
+0

あなたは正しいはずです、私はちょうど働いていた 'readFile'を使用しました。 – donle

+0

私はcsvファイルをアップロードする際に問題があります。私は.txtを使ってみると動作しますが、.csvを試してみるとエラーが返ってきます –