如何保存上传的图像到MongoDB集合,并检索它

本文关键字:集合 MongoDB 检索 图像 何保存 保存 | 更新日期: 2023-09-27 18:09:28

我想保存上传的文件,如用户的头像图像到MongoDB的用户集合,我猜步骤是:

  1. 用户上传图片
  2. 使用FileHandler (IHttpHandler, Asp.net)来接受web服务器中的文件流;
  3. 然后我得到二进制文件并将其设置为User类对象
  4. 最后保存对象,这样用户收集将得到文件二进制数据。

我说的对吗?你能给我点提示吗?

如何保存上传的图像到MongoDB集合,并检索它

您应该使用GridFS来完成它-没有理由担心文件太大或太小而使其没有意义。GridFS是为存储文件而设计的,所以你应该使用它。

如果你需要的话,你可以将GridFS文件的引用存储在一个正常的MongoDB文档中,然后在你需要使用它的时候将它从GridFS中加载出来。

看到这个线程:MongoDB GridFs与c#,如何存储文件,如图像?

根据Mongo grid fs文档。如果您的文件都小于16 MB BSON文档大小限制,请考虑将每个文件存储在单个文档中,而不是使用GridFS。您可以使用BinData数据类型来存储二进制数据。有关使用BinData的详细信息,请参阅驱动程序文档。