【问题标题】:How can I use putObject to upload a csv file to AWS S3 from Nodejs?如何使用 putObject 将 csv 文件从 Nodejs 上传到 AWS S3?
【发布时间】:2016-06-24 01:19:21
【问题描述】:

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

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

我该如何使用它?

【问题讨论】:

  • 定义“无效”。

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


【解决方案1】:

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

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

【讨论】:

  • 你应该是对的,我只是使用了'readFile',它正在工作。
  • 我在上传 csv 文件时遇到问题。当我尝试使用 .txt 时它可以工作,但是当我尝试 .csv 时它返回一个错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-15
  • 2017-09-25
  • 2021-02-02
  • 2020-04-28
  • 2020-01-29
  • 2018-07-07
  • 2019-12-13
相关资源
最近更新 更多