由于控件无法直接读取数据库中二进制文件,故需要首先把数据库中的数据读出放入“容器”中。也就是让图片在相关的页面中存储。然后用image控件的url
进行引用。
http://www.beansoftware.com/ASP.NET-Tutorials/Binary-Files-To-Database.aspx
源码如下:
显示图片页面:Display.aspx
//加载页面时图片控件同时加载图片
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
ImgTest1.ImageUrl = "Store.aspx?ID=" + "需要引用图片的ID";
}
}
//存储图片页面后台代码
protected void Page_Load(object sender, EventArgs e)
{
Int32 ID = Convert.ToInt32(Request.QueryString["ID"]);
SqlCommand cmd = new SqlCommand("SELECT [MIMEType], [Image] FROM [PictureTable] WHERE [ImageID] = @ImageID", con);
cmd.Parameters.Add("@ImageID", SqlDbType.Int).Value = ID;
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
Response.Clear();
Response.AddHeader("Content-Type", dr["MIMEType"].ToString());
Response.BinaryWrite((byte[])dr["Image"]);
dr.Close();
con.Close();
}