mysql数据库怎样储存读取图片

  介绍

这篇文章主要介绍了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数据库怎样储存读取图片