2010-06-30 51 views
-1

我有ASP.NET MVC應用程序中,我使用HTTP處理程序ashx的文件,以獲取網頁上的圖像。該圖像是由用戶通過掃描文檔上傳的。有時圖像不顯示爲只有一個用戶

現在我的問題是它的顯示,除了一個,用戶的報告,他是無法看到,即使它成功地加載圖像,當我檢查了日誌,它表明了服務器的圖像的每個用戶。 沒有出現異常的服務器登錄,同時將圖像太:( 一件事,這是頻繁發生,70%的時間用戶無法看到的頁面圖像。30%的時間,他成功地看到圖像... 奇怪的問題 請諮詢可能是什麼問題?

下面是我的代碼

public class GetImage : IHttpHandler, System.Web.SessionState.IRequiresSessionState 
{ 

    public GetImage() 
    { 

    } 

    public void ProcessRequest(HttpContext context) 
    { 
     if (context != null) 
     { 
      if (!string.IsNullOrEmpty(context.Request.Params["side"])) 
      { 
       bool isFront = false; 
       if (context.Request.Params["side"].Equals("Front")) 
       { 
        isFront = true; 
       } 
       else 
       { 
        isFront = false; 
       } 


       ICache Cache = CacheManager.SessionCache; 
       DepositState depState = (DepositState)Cache[Constants.DepositSession]; 

       if (depState != null) 
       { 
        byte[] imageByteArray = null; 
        System.IO.MemoryStream imageMemoryStream = null; 
        try 
        { 

         if (isFront) 
         { 
          imageByteArray = System.Convert.FromBase64String(depState.FrontJpegBase64); 

         } 
         else 
         { 
          imageByteArray = System.Convert.FromBase64String(depState.BackJpegBase64); 
         } 

         imageMemoryStream = new System.IO.MemoryStream(imageByteArray); 

         using (System.Drawing.Image img = System.Drawing.Image.FromStream(imageMemoryStream)) 
         { 
          img.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg); 
         } 
        } 
        catch(Exception ex) 
        { 
         Log.Error(Constants.DefaultErrorCode, "Exception occured while converting image to Base 64 in GetImage.ashx.cs" + ex); 

        } 

        imageMemoryStream.Close(); 
        context.Response.Flush(); 
       } 
       else 
       { 
        Log.Error(Constants.DefaultErrorCode, " Deposit State object is nullin GetImage.ashx "); 

       } 



      } 
     } 
     else 
     { 
      Log.Error(Constants.DefaultErrorCode, "Context is null in the Process Request "); 
     } 


    } 

    public bool IsReusable 
    { 
     get 
     { 
      return false; 
     } 
    } 
} 
+0

沒有你看到你的代碼,我們無能爲力。 – jfar 2010-06-30 21:21:33

+0

也不知道其他具體問題,如用戶瀏覽器和配置,以及圖像本身的鏈接。 但是,大部分可能不是必需的。該用戶是否看到其他圖像?如果你給他們直接鏈接到圖像會發生什麼? – NotMe 2010-06-30 21:26:06

+0

@jfar和克里斯,我已經更新了建議的帖子 – batwadi 2010-06-30 21:30:43

回答

2

我不知道你在哪裏設置context.Response.ContentType。我沒有測試過這一點,但我想知道是否缺少標題會導致不可預知的瀏覽器行爲。

相關問題