将formdata文件保存到mongdb?

时间:2016-07-17 08:57:02

标签: javascript node.js mongodb

如何将formdata图像文件保存到mongodb?这是我的node.js代码:

router.post('/upload', upload.any(), function(req, res, next) {
    console.log(req.files);
});

它返回了:

[{ 
    fieldname: 'file',
    originalname: '1.jpg',
    encoding: '7bit',
    mimetype: 'image/jpeg',
    destination: 'public/uploads/',
    filename: '788cc8dfacb8ef86233ec1e11fcc58fe',
    path: 'public/uploads/788cc8dfacb8ef86233ec1e11fcc58fe',
    size: 27189
}]

那我接下来该怎么办?我只是将文件名存储到mongodb?或存储整个对象?我想要的是稍后从db中检索所有图像。

2 个答案:

答案 0 :(得分:1)

最好只在DB中存储文件信息。将实际文件存储在文件系统或云存储中,如AWS S3。

答案 1 :(得分:1)

如果您确定它可以长期保持可用,则可以保存路径。 否则,您将有两个解决方案:

  1. 如果图片不多,请使用 GridFS
  2. 将其保存在MongoDB中
  3. 或者将它们存储在云服务器中,该服务器为您提供应用程序中的休息服务