首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将Multer和Multer-S3与MongoDB集成?

如何将Multer和Multer-S3与MongoDB集成?
EN

Stack Overflow用户
提问于 2017-08-12 04:05:50
回答 1查看 317关注 0票数 1

我决定使用S3来存储图片,而不是使用Gridfs。但我仍然对MongoDB将如何与Multer和S3集成感到困惑。

例如,假设我为每个用户都有一个文档集合。假设文档本身不会包含上传到我的S3云中的头像。

但是,当我在前端显示用户列表时,如何确保为每个用户显示正确的个人资料图片?

我正在查看multer-s3文档,我注意到元数据设置了要上传到S3的文件的名称(我想?)。

代码语言:javascript
复制
var upload = multer({
  storage: multerS3({
    s3: s3,
    bucket: 'some-bucket',
    metadata: function (req, file, cb) {
      cb(null, {fieldName: file.fieldname});
    },
    key: function (req, file, cb) {
      cb(null, Date.now().toString())
    }
  })
})

我在想,也许这个问题的一个好的解决方案是将上传的每个文件命名为与使用它的用户相同的名称。我可以修修元数据和关键函数,使它们与上传它们的人的用户名相同吗?cb到底是做什么的,它的每个参数代表什么?

EN

回答 1

Stack Overflow用户

发布于 2017-10-04 23:12:43

假设您拥有该用户的用户名,您可以通过更改密钥来命名该文件。

代码语言:javascript
复制
key: function (req, file, cb) {
      cb(null, username + ".jpg")
}

或者,您可以将照片文件放在文件夹中,如下所示:

代码语言:javascript
复制
key: function (req, file, cb) {
      cb(null, username + "/profile.jpg")
}

包含/将允许您在文件夹中创建和放置图像。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45643006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档