如何检索和显示存储在Mongodb中的图像

时间:2016-05-16 16:45:29

标签: c# mongodb visual-studio

我正在Visual Studio中使用C#实现一个应用程序。我试图检索已经在Mongodb中的数据。我检索了一些值,但我不知道如何使用GridFS获取fs.files集合中的图像我需要在我的应用程序的图片框中显示检索到的图像。

enter image description here

以下是mongodb中fs.files集合的结构。

有人可以解释一下吗?

谢谢

1 个答案:

答案 0 :(得分:0)

这是我的解决方案。

var fileName = @" D:CDAP \ myfunction \ ruwanwelimahaseya.jpg&#34 ;; //我要保存在数据库中的图像 var newFileName = @" D:CDAP \ myfunction \ new.jpg&#34 ;;

        using (var fs = new FileStream(fileName, FileMode.Open))
        {
            var gridFsInfo = DB.GridFS.Upload(fs, fileName);
            var fileId = gridFsInfo.Id;

            ObjectId oid = new ObjectId(fileId.ToString());
            var file = DB.GridFS.FindOne(Query.EQ("_id", oid));


            using (var stream = file.OpenRead())
            {
                var bytes = new byte[stream.Length];
                stream.Read(bytes, 0, (int)stream.Length);
                using (var newFs = new FileStream(newFileName, FileMode.Create))
                {
                    newFs.Write(bytes, 0, bytes.Length);
                    Image image = Image.FromStream(newFs);

                    f2.SizeMode = PictureBoxSizeMode.StretchImage;

                    f2.Image = image;

                }
            }
        }
相关问题