2011-02-25 221 views
0

如何從MYSQL數據庫中檢索圖像。在ASP.NET中顯示圖像

要顯示在文本框文本,我們使用textbox.TEXT - >我們使用.TEXT顯示文本

同樣如何顯示從MySQL數據庫中檢索的圖像?

IMAGE1 [_ __] =博士[0] [_ ____]。。

什麼在上面的空白??充滿...

我用BLOB存儲圖像。

+0

您需要有一個額外的頁面或處理程序/操作來獲取圖像。然後,image1.src就像/ Home/Image?id = 1001,在HomeController中有一個方法Image(int id)和一個二元ActionResult。在該方法中,您可以在此鏈接中檢索圖像:http://www.codeproject.com/KB/aspnet/image_asp.aspx – rene 2011-02-25 21:33:47

回答

1

添加通用處理程序到您的Web窗體應用程序,並在ProcessRequest方法,您需要爲數據庫查詢相關文件/二進制數據。你通常會通過querystring選擇正確的圖像。下面的代碼演示如何查詢數據庫,並返回二進制數據:

using (DbConnection conn = new DbConnection(connect)) 
{ 
    if (context.Request.QueryString["id"] != null) 
    { 
    DbCommand cmd = new DbCommand(qry, conn); 
    cmd.Parameters.AddWithValue("", context.Request.QueryString["id"]); 
    conn.Open(); 
    using (DbDataReader rdr = cmd.ExecuteReader()) 
    { 
     if (rdr.HasRows) 
     { 
     rdr.Read(); 
     context.Response.AddHeader("content-disposition", "attachment; filename=" + rdr["FileName"]); 
     context.Response.ContentType = rdr["MimeType"].ToString(); 
     context.Response.BinaryWrite((byte[])rdr["Blob"]); 
     } 
    } 
    } 
} 

您需要的的DbConnection,DbCommand和和DbDataReader更改爲您的供應商喜歡(ODBC或MySQL)的類型,然後點的ImageUrl圖像控制到的HttpHandler的屬性:

Image1.ImageUrl = 「?MyHandler.ashx ID =」 +什麼的圖像ID。

2

您可以通過創建一個控制器來服務你的圖像等,然後在你看來,你可以只添加通話內嵌做到這一點:

<img src='<%= Url.Action("GetImage", "Image", new { id = yourImageIdHere }) %>' /> 

public class ImageController 
{ 
    public ActionResult GetImage(int id) 
    { 
     var image = GetTheRawBinaryImageFromTheDB(); 
     return File(image, "image/jpg"); 
    } 
}