2011-10-13 42 views
0

當點擊拇指圖像時,我必須在同一視圖中以div的實際大小顯示圖像。我會解釋我的情況。我正在使用asp.net mvc 2應用程序。在我看來,我有圖像的拇指圖像存儲在數據庫中作爲字節[]和fileId作爲隱藏字段。當點擊拇指圖像時,我需要顯示存儲在數據庫中的實際圖像。實際圖像應該在同一視圖中以div顯示,當點擊拇指圖像時應顯示該圖像。這應該發生在使用jQuery。 感謝您關注此事。使用jquery顯示byte []圖像

回答

0

爲此,您可以使用HttpHandler。一個通用的處理程序添加到您的項目,做一些像ProcessRequest方法在HTML以下

  context.Response.Clear(); 

      var imageID = context.Request.QueryString["imageID"]; 

      MemoryStream stream = new MemoryStream(); 

      try 
      { 
       byte[] buffer = GetYourImageBuffer(imageID);      

       if(buffer != null) 
       { 
        stream = new MemoryStream(buffer); 
        Image image = Image.FromStream(stream); 
        context.Response.ContentType = "image/jpeg"; //Or what ever 
        image.Save(context.Response.OutputStream, ImageFormat.Jpeg); 
       }      
      } 
      finally 
      { 
       context.Response.Flush(); 
       stream.Close(); 
      } 

然後,你就可以通過調用這個...

<img src="ImageHandler.ashx?imageID=<%: Model.Image.ID %>" /> 
0

如果您在數據庫中以字節格式顯示圖像,則首先需要將圖像保存在服務器目錄中,保存圖像文件後,在jquery的幫助下顯示它。您還可以使用像lightbox這樣的插件以更吸引人的方式展示圖片。

這樣你就可以在你使用jquery的同一視圖上顯示圖像,併發出AJAX請求來獲取圖像。