从数据库中存取图片

来源:互联网 发布:sql exists的含义 编辑:程序博客网 时间:2024/06/02 22:54

        public static byte[] GetBytesFromImage(Image image, ImageFormat format)
        {
            try
            {
                MemoryStream ms = new MemoryStream();
                image.Save(ms, format);
                return ms.GetBuffer();
            }
            catch (System.Exception e)
            {
                throw new System.Exception("处理图像时发生错误!错误原因:" + e.Message);
            }
        }

 

public void SaveImage()

{

          Image img1 = (Image)Resources._2;
          byte[] bytes= GetBytesFromImage(img1, ImageFormat.Png);

          SqlConnection conn = SqlHelper.GetConnection();

          SqlCommand cmd = new SqlCommand();
          cmd.Connection = conn;
          cmd.CommandText = "update Test set Image=@Image";
          cmd.Parameters.Add("@Image", SqlDbType.Image);

          cmd.Parameters[0].Value = str1;

          cmd.ExecuteNonQuery();

          conn.Close();

}

 

        public static Image GetImageFromBytes(byte[] bytes)
        {
            //读取图象
            byte[] BLOBData = bytes;
            MemoryStream MsBLOBData = null;
            try
            {
                MsBLOBData = new MemoryStream(BLOBData);
                return Image.FromStream(MsBLOBData);
            }
            catch (Exception e)
            {
                throw new System.Exception("转换图像时发生错误!错误原因:" + e.Message);
            }
        }

 

public void GetImage()

{

            string CmdText = "Select Image from test where id=1";

            pictureBox1.Image= GetImageFromBytes((byte[])SqlHelper.ExecuteScalar(CmdText));

}