如何讀取保存在數據庫中的圖片顯示在DataGrid中

在DataGrid中有一個模板列,裏面放置了一個ImageButton控件,當然Image也可以。你首先必須綁定DataGrid才能在使用DataBinder.Eval(Container,"DataItem.BookGuid")等
如下:
<asp:Image id=Imagebutton1 runat="server" ImageUrl='<%# "BookCover.aspx?ImageID="+DataBinder.Eval(Container,"DataItem.BookGuid")%>'></asp:Image>

//這裏是把圖片的編號傳到一個取圖片的頁面裏,然後連接到圖片上的,注意這裏用的是ImageUrl,不是平常文本框用的text
BookCover.aspx頁面

private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此處放置用戶代碼以初始化頁面
   string str=System.Configuration.ConfigurationSettings.AppSettings["cn"];//得到Webconfig裏的連接字符串
   SqlConnection cn=new SqlConnection(str);
   SqlCommand cmd=new SqlCommand();
   cmd.CommandText="select Cover from Books where BookGuid='"+this.Request["ImageID"]+"'";//取得數據庫中的圖片
   cmd.Connection=cn;
   cn.Open();
   this.Response.ContentType="image/*";//設置類型
   SqlDataReader dr=cmd.ExecuteReader();
   while(dr.Read())
   {
    this.Response.BinaryWrite((byte[])dr["Cover"]);//讀取後轉換爲字節數組
   }
   cn.Close();
  }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章