2013-07-04 61 views
0
SqlConnection con = new SqlConnection(); 
con.ConnectionString = "Data Source=PROMOD-PC;Initial Catalog=travel_Directions;Integrated Security=True"; 


DataTable dt = new DataTable(); 

String selQuery = "SELECT Image FROM MapDataImage WHERE Source='" + TextBox1.Text + "';"; 

SqlCommand SelCmmnd = new SqlCommand(selQuery); 
SqlDataAdapter sDatAdp = new SqlDataAdapter(); 
SelCmmnd.CommandType = CommandType.Text; 
SelCmmnd.Connection = con; 

con.Open(); 

sDatAdp.SelectCommand = SelCmmnd; 

sDatAdp.Fill(dt); 
ListView1.DataSource = dt; 
ListView1.DataBind(); 

con.Close(); 
sDatAdp.Dispose(); 
con.Dispose(); 
dt.Dispose(); 

傢伙現在代碼已準備好...(執行沒有錯誤),但是當我點擊按鈕...它將顯示標籤像圖像: System.Byte [] ....在列表視圖 是否在代碼中有任何問題?我做了一個從數據庫檢索圖像的代碼?它工作,但它顯示,圖像:System.Byte []標籤

這段代碼錯了嗎? 有人請幫幫我嗎?找出這個............

+2

你需要添加一個通用的處理程序來呈現實際圖像 - 看到這個答案(複製)http://stackoverflow.com/questions/21877/dynamically-rendering-aspimage-from-blob-entry-in-asp-淨 – Darren

回答

0

你描述的行爲聽起來像你正在調用Image對象的.ToString()。圖像不是字符串,因此.ToString()方法將執行將類名和像System.Byte []這樣的屬性寫入標籤的默認行爲。 Darren在評論中的鏈接顯示瞭如何將字節數組寫入響應流,但如果您確實想保留一個字符串並且圖像大小很小,您還可以嘗試使用數據:圖像標記的uri格式:

stackoverflow.com/questions/6826390/...

我會與自定義的HttpHandler去寫入流,因爲數據URI格式,可能無法與所有瀏覽器的支持,並有大小限制。但是,如果您只是爲現代瀏覽器提供小圖片,那可能適合您。

相關問題