从数据库读取image字段到网页(BLOB型的)

?
			string strsqlconn;
			strsqlconn = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"].ToString();
			SqlConnection sqlConn = new SqlConnection(strsqlconn);			
			sqlConn.Open();

			//查找符合条件的图片,取出来
			string strsql;
			strsql = "select Image from Page_Image where Page_Id='"+strid+ "'";
			SqlDataAdapter daImage = new SqlDataAdapter(strsql, sqlConn);

			//定义一个DataSet,并且进行填充数据
			DataSet dsImage = new DataSet();
			daImage.Fill(dsImage,"Page_Image");

			//取消和数据库的关联,释放资源
			sqlConn.Close();
			daImage.Dispose();
			sqlConn.Dispose();				

			//从数据库中读出图片流
			byte[] btImage = (byte[])dsImage.Tables["Page_Image"].Rows[0]["Image"];
			System.IO.MemoryStream ms = new MemoryStream(btImage);
			//create a bitmap object
			System.Drawing.Bitmap bmp = new Bitmap(ms);

			// create the actual thumbnail image
			System.Drawing.Image thumImage = bmp.GetThumbnailImage(1638,2338,new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback),IntPtr.Zero);

			// make a memory stream to work with the image bytes
			MemoryStream msimage = new MemoryStream();

			// put the image into the memory stream
			thumImage.Save(msimage,System.Drawing.Imaging.ImageFormat.Jpeg);

			// make byte array the same size as the image
			byte[] imageContent = new Byte[msimage.Length];

			// rewind the memory stream
			msimage.Position = 0;
			// load the byte array with the image
			msimage.Read(imageContent, 0, (int)msimage.Length);

			// return byte array to caller with image type
			Response.ContentType = "image/JPEG";
			Response.BinaryWrite(imageContent);
			Response.End();

你可能感兴趣的:(C#,WebForm,image,数据库,dataset,byte,stream,string)