我数据库格式是用blob,数据库是mysql
不知道为什么数据库修改成功了,但是图片只显示到一定的位置就不显示了;,只是显示一半那样;
是不是blob存放不了呢?
//图像转换成二进制
private byte[] ImageToByte(Image Picture)
{
MemoryStream ms = new MemoryStream();
if (Picture == null)
return new byte[ms.Length];
Picture.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] BPicture = new byte[ms.Length];
BPicture = ms.GetBuffer();
return BPicture;
}
这个是把二进制转为图片,并显示在pic上面
//获得图片
byte[] p1 = (byte[])dt.Rows[0][0];
MemoryStream imageStream1 = new MemoryStream(p1);
Image image1 = Image.FromStream(imageStream1);
pictureBox1.Image = image1;
SQL修改语句;
MySqlCommand comm = new MySqlCommand(update rw_count set zhutu=@imageByte,ztctu=@imageByte2 where bbid=" + teb_bbid.Text + " ", conn);
//把imageByte转成mediumblob类型储存
comm.Parameters.Add(new MySqlParameter("@imageByte", MySqlDbType.MediumBlob, p1.Length)).Value = p1;