【问题标题】:Uploading multiple files at same time from local to s3 bucket through node js通过node js从本地同时上传多个文件到s3桶
【发布时间】:2015-11-25 09:13:01
【问题描述】:

我正在尝试将文件上传到 s3 存储桶,我使用以下代码来完成此操作。

var params = {
  localFile: "../Processor/1.wav",

  s3Params: {
    Bucket: "bucketname",
    Key: "1.wav",
  },
};
var uploader = client.uploadFile(params);
uploader.on('error', function(err) {
  console.error("unable to upload:", err.stack);
});
uploader.on('progress', function() {
  console.log("progress", uploader.progressMd5Amount,
            uploader.progressAmount, uploader.progressTotal);
});
uploader.on('end', function() {
  console.log("done uploading");
});

到目前为止,一切正常。现在让我们在这里说,我想从本地路径上传 5 个文件到 s3 存储桶,我该如何实现,是否有任何直接方法提供亚马逊用于多个文件上传或者我需要使用异步模块。?

【问题讨论】:

    标签: javascript node.js amazon-web-services amazon-s3


    【解决方案1】:

    NodeJS AWS SDK 没有任何批量 S3 上传方法,我建议您使用 async/await 一次上传多个文件。这是一个例子:

    const s3 = new AWS.S3()
    const params = [
      { Bucket: 'bucket', Key: 'key', Body: 'body' },
      { Bucket: 'bucket', Key: 'key2', Body: 'body2' },
      { Bucket: 'bucket', Key: 'key3', Body: 'body3' }
    ]
    const responses = await Promise.all(
      params.map(param => s3.upload(param).promise())
    )
    console.log(responses)
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-28
    • 1970-01-01
    • 2016-10-27
    • 1970-01-01
    • 1970-01-01
    • 2022-10-16
    • 2021-12-06
    • 1970-01-01
    相关资源
    最近更新 更多