Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Multer和Multer-S3与MongoDB集成?_Mongodb_Amazon S3_Multer_Multer S3 - Fatal编程技术网

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

如何将Multer和Multer-S3与MongoDB集成?,mongodb,amazon-s3,multer,multer-s3,Mongodb,Amazon S3,Multer,Multer S3,我决定使用S3来存储图像,而不是使用Gridfs。但我仍然对MongoDB将如何与Multer和S3集成感到困惑 例如,假设我为每个用户收集了一组文档。假设文档本身不包含将上载到我的S3云的配置文件图片 但是,当我在前端显示用户列表时,如何确保为每个用户显示正确的个人资料图片 我正在查看multer-s3文档,我注意到元数据设置了要上传到s3的文件的名称(我想是吧?) 我在想,也许解决这个问题的一个好办法是将上传的每个文件命名为与使用它的用户相同的名称。我可以修改元数据和键函数,使它们与上传者的

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

例如,假设我为每个用户收集了一组文档。假设文档本身不包含将上载到我的S3云的配置文件图片

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

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


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

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

key: function (req, file, cb) {
      cb(null, username + ".jpg")
}
或者,您可以将照片文件放在文件夹中,如下所示:

key: function (req, file, cb) {
      cb(null, username + "/profile.jpg")
}

包含/将允许您创建图像并将其放入文件夹。

如果您拥有用户的用户名,则可以通过更改密钥来命名文件

key: function (req, file, cb) {
      cb(null, username + ".jpg")
}
或者,您可以将照片文件放在文件夹中,如下所示:

key: function (req, file, cb) {
      cb(null, username + "/profile.jpg")
}
包含/将允许您在文件夹中创建和放置图像