我正在Visual Studio中使用C#实现一个应用程序。我试图检索已经在Mongodb中的数据。我检索了一些值,但我不知道如何使用GridFS获取fs.files集合中的图像我需要在我的应用程序的图片框中显示检索到的图像。
以下是mongodb中fs.files集合的结构。
有人可以解释一下吗?
谢谢
答案 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;
}
}
}