在ASP.NET中把图片以二进制字节流的形式读入Sql server 数据库中
但是在WEB页面中改如何显示这个图片呢?
请教高手指点!
谢谢!

解决方案 »

  1.   

    从SQL Server数据库提取图片并显示在DataGrid
    建立一个页面来读数据库的图片 如ReadPic.aspx
     string picID = Request.QueryString["id"];
       SqlConnection myConnection = new SqlConnection("Data Source=.;database=ImageDB;User Id=sa;Password=sa;");
       SqlCommand myCommand = new SqlCommand("Select  Pic from Person Where ID=" 
        + picID, myConnection);   try
       {
        myConnection.Open();
        SqlDataReader myDataReader;
        myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
        if(myDataReader.Read())
        {
         Response.ContentType = myDataReader["PersonImageType"].ToString();
         Response.BinaryWrite((byte[])myDataReader["PersonImage"]);
        }
        myConnection.Close();
       }
    然后在datagrid的aspx页面如 DataGridPic.aspx放置模板列
    <ItemTemplate>
            <asp:Image Runat=server ID="Image1"
             ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ID") %>' />
          </ItemTemplate>
    就可以了
      

  2.   

    没试过...
    但是这样也可以吧..
            using (FileStream fs = File.Create("temp.jpg"))
            {
                fs.Write(bytes, 0, bytes.Length);
            }
            aspImage.ImageUrl = "temp.jpg";