今天练习了如何使用c# driver存储和读取图片。
废话不多说,直接上代码。
一、存储图片(文件应该也一样):
private void SaveImgBJSON(string id, byte[] byteImg)
{
BsonDocument doc = new BsonDocument();
doc["ID"] = id;
doc["Img"] = byteImg;
//链接字符串
var connectionString = "mongodb://localhost";
//定义Mongo服务
var client = new MongoClient(connectionString);
var server = client.GetServer();
//获取databaseName对应的数据库,不存在则自动创建
var database = server.GetDatabase("test");
//获取 "entities" 对应的集合,不存在则自动创建
var collection = database.GetCollection<BsonDocument>("imgTest");
collection.Save(doc);
}
传入ID和字节流就可以了。
在界面中拖一个BUTTON,然后在点击事件中将文件读入并调用上面的方法,就可以存入了。
protected void Button1_Click(object sender, EventArgs e)
{
FileInfo fi = new FileInfo(@"E:\myPic\123.jpg");
long len = fi.Length;
FileStream fs = new FileStream(@"E:\myPic\123.jpg", FileMode.Open);
byte[] buf = new byte[len];
fs.Read(buf, 0, (int)len);
fs.Close();
SaveImgBJSON("123", buf);
}
发现一款图形化管理工具:Mongo-Cola,可以用它看到存入的内容:
二、读取
public byte[] GetImgBJSON()
{
string connectionString = "mongodb://localhost";
//定义Mongo服