2012-04-10 165 views
2

我有一個SQL Server 2008表與圖像類型列,我用它來存儲圖像(在SQL圖像類型)。從數據表在列表視圖中顯示圖像

我有一個ASPX頁面上有一個列表視圖,它綁定到從包含該圖像的查詢填充的數據表。填充數據表時,會獲取圖像字段的值。

現在我想顯示該列表視圖的每個字段的圖像。我使用<%# Eval("ColumnA") %>類似的語法來顯示從該查詢中獲取的文本,但我不知道如何顯示該查詢中的圖像。 (例如,使用哪個控制使用哪個語法?)

+0

此鏈接顯示了一個示例:http://www.aspsnippets.com/Articles/Display-Images-from-SQL -Server-Database-using-ASP.Net.aspx – Josh 2012-04-10 19:49:48

+0

我不是在尋找一種解決方案,它包含在數據庫中保存圖片URL而不是圖片本身。 – Farshid 2012-04-10 19:49:54

+0

感謝喬希,但我正在尋找一種涉及這樣的Eval表達的方式。 – Farshid 2012-04-10 19:51:16

回答

2

嘗試Data URL scheme

<img src="<%# ReturnEncodedBase64UTF8(Eval("ColumnA")) %>" /> 

protected static string ReturnEncodedBase64UTF8(object rawImg) 
{ 
    string img = "data:image/gif;base64,{0}"; //change image type if need be 
    byte[] toEncodeAsBytes = (byte[])rawImg;   
    string returnValue = System.Convert.ToBase64String(toEncodeAsBytes); 
    return String.Format(img, returnValue); 
} 
+0

讓我檢查它親愛的裏克 – Farshid 2012-04-10 20:07:43

+0

無法轉換'System.Byte []'類型的對象來鍵入'System.String'。 – Farshid 2012-04-10 20:12:34

+0

因爲我需要做一個:System.Text.Encoding.UTF8.GetBytes((string)rawImg); – Farshid 2012-04-10 20:12:55