从数据库读取图片到picturebox,该怎么解决
从数据库读取图片到picturebox
我在数据库用image保存图片 保存的时候是用二进制 现在要读取出来
报错1:
报错2:
------解决思路----------------------
存储的是不是binary类型?
------解决思路----------------------
从 byte[]到Image很简单啊
public Image byteArrayToImage(byte[] byteArrayIn)
{
MemoryStream ms = new MemoryStream(byteArrayIn);
Image returnImage = Image.FromStream(ms);
return returnImage;
}
来自:
http://www.codeproject.com/Articles/15460/C-Image-to-Byte-Array-and-Byte-Array-to-Image-Conv
你要确保从数据库读出的是正确的
可以 在Byte[] mybyte = (Byte[])da.Rows[0]["A2"];之后,把byte[] 写到文件中看一看文件内容。
我在数据库用image保存图片 保存的时候是用二进制 现在要读取出来
private void button5_Click( object sender, EventArgs e )
{
DataTable da = SqlHelper.ExecuteDataTable( "SELECT A2 FROM A");
Byte[] mybyte = (Byte[])da.Rows[0]["A2"];
MemoryStream ms = new MemoryStream( );//此处报错1
for (int i = 0; i < mybyte.Length; i++)
{if (mybyte.Length - i > 100000)
{
ms.Write( mybyte, i, 100000 );
i += 100000;
}
//ms.Write( mybyte, 10000, mybyte.Length );
else
{
ms.Write( mybyte, i, mybyte.Length - i );
i += mybyte.Length - i;
}
}
ms.Position = 0;
ms.Seek( 0, SeekOrigin.Begin );
Image img = Image.FromStream( ms,true );//此处报错2
pictureBox1.Image = img;
}
报错1:
报错2:
------解决思路----------------------
存储的是不是binary类型?
------解决思路----------------------
从 byte[]到Image很简单啊
public Image byteArrayToImage(byte[] byteArrayIn)
{
MemoryStream ms = new MemoryStream(byteArrayIn);
Image returnImage = Image.FromStream(ms);
return returnImage;
}
来自:
http://www.codeproject.com/Articles/15460/C-Image-to-Byte-Array-and-Byte-Array-to-Image-Conv
你要确保从数据库读出的是正确的
可以 在Byte[] mybyte = (Byte[])da.Rows[0]["A2"];之后,把byte[] 写到文件中看一看文件内容。