微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Node.js 应用程序中从 AWS S3 下载文件

如何解决在 Node.js 应用程序中从 AWS S3 下载文件

我有文件上传到 AWS S3 存储桶的代码

var upload = multer({
 storage: multerS3({
     s3: s3,bucket: 'mybucketname',key: function (req,file,cb) {
          cb(null,Date.Now().toString())
     }
   }),fileFilter: myfilefiltergeshere...

})

我想下载上传的源。我不知道怎么做,因为我真的不知道如何识别 S3 上的文件。它是上传中的关键字段,还是我必须指定的其他内容

解决方法

您可以下载

import AWS from 'aws-sdk'

AWS.config.update({
  accessKeyId: '....',secretAccessKey: '...',region: '...'
})

const s3 = new AWS.S3()

async function download (filename) {
  const { Body } = await s3.getObject({
    Key: filename,Bucket: 'mybucketname'
  }).promise()
  return Body
}

const dataFiles = await Promise.all(files.map(file => download(file)))

我在数组中有文件,这就是我使用 files.map 的原因,但我想您可以查看某些指导类型的代码,这可能对您有所帮助。 如需更多信息,请阅读this

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。