介绍
这篇文章主要介绍了mysql数据库怎样储存读取图片,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。
mysql储存读取图片的方法:首先将图片转换成缓冲流,然后获得图片的字节数组并执行相关操作,最后通过“公共空MapSearchQuery (byte [] imageByteResulet) {…}”读取图片即可。
引用>
公共bool MapSearchWrite(字符串strImagePath) {//将图片转换成缓冲流 fs=new FileStream文件流(strImagePath FileMode。开放、FileAccess.Read);//获得图片的字节数组 byte [] byImage=新字节(fs.Length); fs。读(byImage 0 byImage.Length); fs.Close ();//数据库连接 MySqlConnection康涅狄格州=new MySqlConnection (); conn.ConnectionString=發ocalhost服务器=Uid=根;密码=123456;数据库=消防;charset=gb2312"; 试一试 { conn.Open (); } 抓 { conn.Close (); conn.Dispose (); 把新的ArgumentException(“地图检索数据库连接失败“); }//判断数据库内部有无记录 字符串strQueryCmd=把≡翊觟mages" PicNum;; MySqlCommand cmdQuery=new MySqlCommand(康涅狄格州strQueryCmd); MySqlDataReader dataReader=cmdQuery.ExecuteReader ();//执行操作 MySqlCommand cmd=new MySqlCommand (); 如果(dataReader.Read ()) { cmd。CommandText=案峦枷窦枷?@byImage"; } 其他的 { cmd。CommandText=安迦胪计?图片)值(@byImage)“;; } cmd。CommandType=CommandType.Text; cmd.Parameters.Add (“@byImage" MySqlDbType.MediumBlob); cmd.Parameters [0]。值=https://www.yisu.com/zixun/byImage; cmd。连接=康涅狄格州; int affectedRows=0; 试一试 { affectedRows=cmd.ExecuteNonQuery (); } 抓 { affectedRows=1; }//关闭连接等 cmd.Dispose (); conn.Close (); conn.Dispose (); 如果(affectedRows <=0) { 返回错误; } 其他的 { 返回true; } }
公共空MapSearchQuery (byte [] imageByteResulet) { imageByteResulet=零; MySqlConnection康涅狄格州=new MySqlConnection (); conn.ConnectionString=發ocalhost服务器=Uid=根;密码=123456;数据库=消防;charset=gb2312"; 试一试 { conn.Open (); } 抓 { conn.Close (); conn.Dispose (); 把新的ArgumentException(“地图检索数据库连接失败“); } 字符串strQueryCmd=按油计拗?“选择图像; MySqlCommand cmd=new MySqlCommand(康涅狄格州strQueryCmd); MySqlDataReader dataReader=零; 试一试 { dataReader=cmd.ExecuteReader (); } 抓 { dataReader.Dispose (); cmd.Dispose (); conn.Close (); conn.Dispose (); 把新的ArgumentException(“地图检索查询地图失败“); } 如果(dataReader.Read ()) { (dataReader imageByteResulet=new字节。GetBytes (0, 0, null, 0, int.MaxValue)]; dataReader。imageByteResulet GetBytes (0, 0, 0, imageByteResulet.Length);//将图片字节数组加载入到缓冲流//MemoryStream imageStream=new MemoryStream (imageByte);//从缓冲流生成图片//imageResulet=形象。FromStream (imageStream,真实); } dataReader.Dispose (); cmd.Dispose (); conn.Close (); conn.Dispose (); }
第一种:imageByte是调用上面函数得到的byte[]的数据
//将图片字节数组加载入到缓冲流 MemoryStream imageStream=new MemoryStream (imageByte);//从缓冲流生成图片 imageResulet=形象。FromStream (imageStream,真实);//图片框是一个显示图片或者视频的c#控件 图片框。形象=imageResulet;这样就把图片读取出来并显示出来了
第二种:位图是系统。Drawingm命名空间中的
位图bm=新的位图(新MemoryStream ( imageByte )); pictureBox1。形象=bm;
感谢你能够认真阅读完这篇文章,希望小编分享mysql数据库怎样储存读取图片内容对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,遇到问题就找,详细的解决方法等着你来学习!
mysql数据库怎样储存读取图片