2013-10-19 61 views
0

像我想表明從數據庫二進制數據(圖像),而不使用處理器顯示從數據庫

var imgLogo = cid.Tables[0].Rows[0]["Logo"].ToString(); 

可以請你建議我做的方式。這裏是我的aspx內容

如何從代碼隱藏設置IMAGEURL?我已經嘗試過一個,但它不能正常工作

  Byte[] bytes = (Byte[])cid.Tables[0].Rows[0]["Logo"]; 
      Response.Buffer = true; 
      Response.Charset = ""; 
      Response.Cache.SetCacheability(HttpCacheability.NoCache); 
      Response.ContentType = "image/jpg"; 
      Response.BinaryWrite(bytes); 

我該如何設置imageUrl?

在此先感謝。

+0

***哪些數據庫的***樣的? MySQL的?甲骨文? DB2? SQL Server? Postgres的?別的東西? –

+0

也許你可以檢查一會兒: http://www.aspsnippets.com/articles/display-images-from-sql-server-database-in-asp.net-gridview-control.aspx – Krekkon

+0

它的sql服務器,@Krekkon - 我試過,但是這個例子是用處理程序類創建的。 – kiran

回答

1

那麼你的代碼只設置圖像寫入響應。 您需要使用ASP.NET Image控件,然後使用處理程序來提供圖像。

該處理程序將從數據庫中讀取圖像字節,然後將其讀入響應中,就像您已經做了一些處理。

看看:

Retrieve image from database into a image tag

+0

感謝您的回覆,但下面這個例子中的處理程序是used.string.Format(「/ viewImage.ashx?memberreportid = {0}&imageID = {1}」,Session [「memberreportid」],「{0}」) ;還有一件事,我也使用控制現在我的問題是我如何可以綁定從代碼隱藏的URL而不使用處理程序?或沒有處理它不可能。謝謝 – kiran

+0

沒有處理程序是不可能的。您可以用隨機文件名寫入磁盤,但問題是,最有可能的情況是隨機文件名可能以某種方式被別的東西覆蓋,並且會損害性能,因爲它需要寫入磁盤然後加載從磁盤。最佳做法是使用將用於圖像的處理程序。 –

+0

好的,謝謝,還有處理程序的其他例子嗎? – kiran