如何用控件从数据库中读取图片

Posted on 2008-11-13 21:46  Andylee  阅读(581)  评论(0编辑  收藏  举报

   由于控件无法直接读取数据库中二进制文件,故需要首先把数据库中的数据读出放入“容器”中。也就是让图片在相关的页面中存储。然后用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();

        }

 

Copyright © 2024 Andylee
Powered by .NET 9.0 on Kubernetes