如何使用 putObject 从 Nodejs 将 csv 文件上传到 AWS S3?

How can I use putObject to upload a csv file to AWS S3 from Nodejs?

我尝试直接上传文件流作为参数,但是没有成功。

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);
});

我该如何使用它?

您需要使用读取流,而不是写入流。此外,您不应该将流包装在缓冲区中。

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);
});