位置:海鸟网 > IT > ASP.NET >

如何把存储在数据库中的图片根据自己的需要的大小显示

文件1:showimage.aspx.cs


namespace ImageResizing {

public class MainDisplay : System.Web.UI.Page {

  public void Page_Load(System.Object sender, System.EventArgs e) {

  try {

    System.Int32 _ImgID = System.Convert.ToInt32(Request.QueryString["ImgID"]);

    System.Int32 _height = System.Convert.ToInt32(Request.QueryString["height"]);

    System.Int32 _width = System.Convert.ToInt32(Request.QueryString["width"]);

    System.Data.SqlClient.SqlConnection Con = new System.Data.SqlClient.SqlConnection( "server=localhost;database=northwind;trusted_connection=true" );

    System.String SqlCmd = "SELECT * FROM Images WHERE ImageID = @ImageID";

    System.Data.SqlClient.SqlCommand SqlCmdObj = new System.Data.SqlClient.SqlCommand( SqlCmd, Con );

    SqlCmdObj.Parameters.Add("@ImageID", System.Data.SqlDbType.Int).Value = _ImgID;

    Con.Open();

    System.Data.SqlClient.SqlDataReader SqlReader = SqlCmdObj.ExecuteReader();

    SqlReader.Read();

    System.Web.HttpContext.Current.Response.ContentType = "image/pjpeg";

    System.Drawing.Image _image = System.Drawing.Image.FromStream( new System.IO.MemoryStream( (byte[])SqlReader["Image"] ) );

    System.Drawing.Image _newimage = _image.GetThumbnailImage( _width, _height, null, new System.IntPtr());

    _newimage.Save( System.Web.HttpContext.Current.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg );

   } catch (System.Exception Ex) {

    System.Web.HttpContext.Current.Trace.Write(Ex.Message.ToString());

   }

  }

}

}


文件2:显示图片之用,把querystring传入
<html>
<body>

<img src="showimage.aspx?ImgID=202&height=150&width=150">
</body>
</html>


相关链接:?tutorialid=176