将图片以Image类型存储到数据库中,首先获取图片的流对象,然后,利通Read方法从图片文件读取二进制数据存储到字节数组。
从数据库中读取Image类型的字段,首先将数据库对应的Image类型字段存储在无符号直接数组,然后再用MemoryStream类读入图片数据,通过MemoryStream对象生成Bitmap对象,显示在PictureBox控件上。代码如下:
private void butOpen_Click(object sender, EventArgs e)
{
OpenFileDialog of = new OpenFileDialog();
of.Filter = "Image Files(*.bmp;*.jpg;*.gif)|*.BMP;*.JPG;*.GIF";
of.DefaultExt = "bmp";
of.ShowDialog();
if (of.FileName.Length > 0)
{
using (Stream sr = of.OpenFile())
{
int length = (int)sr.Length;
byte[] b = new byte[length];
sr.Read(b, 0, length);
pictureBox1.Image = new Bitmap(sr);