你可以不用下载图片在一个image.aspx中取出存在数据库中的图片的二进制数据
Response.BinaryWrite(byte[] imagedata);即可显示然后在Image.Imageurl = "image.aspx"即可。

解决方案 »

  1.   

    我是这样实现的:
    首先建一个显示图片的文件show.aspx,其中show.aspx.cs文件这样写:
    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["connstr"].ToString());
    conn.Open();
    string id = Request.QueryString["id"];
    DataSet ds = new DataSet();
    byte[] myData = new byte[0];
    SqlDataAdapter da = new SqlDataAdapter("select picture from tablename where id="+id,conn);
    da.Fill(ds,"product");
    DataRow myRow;
    myRow = ds.Tables["tablename"].Rows[0];
    if(myRow["picture"].ToString()!="")
    myData = (byte[])myRow["picture"];
    Response.ContentType ="jpg";
    Response.BinaryWrite( myData );
    }
    然后再在你要显示图片的文件上写:<img src="show.aspx?id=yourid">
    要显示图片的文件和show.aspx在相同路径下。
      

  2.   

    Image.ImageUrl ="c:\aaa.jpg"要使相对路径才行,不能用绝对路径
      

  3.   

    这是显示image字段的show.aspx页面
    Dim bh As String
            bh = Request.QueryString("bh")
            SqlCommand1.Parameters("@bh").Value = bh
            SqlConnection1.Open()
            Dim dr As SqlClient.SqlDataReader
            dr = SqlCommand1.ExecuteReader()
            If dr.Read() Then
                Response.ContentType = "image/bmp"
                Response.BinaryWrite(dr("photo"))
                Response.End()
            End If
            SqlConnection1.Close()在另外的页面中加image控件赋属性如下:Image.Imageurl ="show.aspx?bh=1"即可