如何将上传的图像保存到MongoDB集合并进行检索

时间:2011-09-24 11:10:06

标签: c# asp.net mongodb save-image

我想将上传的文件(例如用户的头像图像)保存到MongoDB中的用户集合中,我想这些步骤是:

  1. 用户上传图片;
  2. 使用FileHandler(IHttpHandler,Asp.net)接受Web服务器中的文件流;
  3. 然后我得到该文件二进制文件并将其设置为User类对象
  4. 最后保存对象,因此用户集合将获取文件二进制数据。
  5. 我是对的吗?你能给我任何线索吗?

2 个答案:

答案 0 :(得分:4)

你应该只使用GridFS来做这件事 - 你没有理由担心文件太大或太小而无法理解。 GridFS旨在存储文件,因此您应该使用它。

如果需要,您可以随时在普通MongoDB文档中存储对GridFS文件的引用,然后在需要使用它时将其从GridFS中加载。

请参阅此主题:MongoDB GridFs with C#, how to store files such as images?

答案 1 :(得分:0)

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