2016-07-17 43 views
1

如何將formdata圖像文件保存爲mongodb?這是我的Node.js代碼:保存formdata文件到mongdb?

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中?或存儲整個對象?我想要的是以後從數據庫中檢索所有圖像。

+0

避免將映像上傳到數據庫通常是個好主意,因爲這可能會很快導致資源的大量使用,並可能非常快速地提高數據庫成本。我會推薦使用像cloudinary.com這樣的基於雲的服務。他們有一個很棒的API,你可以用它來集成你的應用程序。 –

+0

@AndrewHill如果我只是將圖像名稱存儲在數據庫中並且實際文件與節點一起存儲,該怎麼辦? –

回答

1

最好只將文件信息存儲在數據庫中。將實際文件存儲在文件系統或AWS S3等雲存儲上。

1

如果您確定長時間可靠,您可以保存路徑。 否則,你將有2個解決方案:

  1. 如果沒有很多照片,使用GridFS的
  2. 或者將它們存儲在它提供你休息,你會消耗在服務雲服務器保存在MongoDB中您的應用程序