-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;
}
}
}
沒有你看到你的代碼,我們無能爲力。 – jfar 2010-06-30 21:21:33
也不知道其他具體問題,如用戶瀏覽器和配置,以及圖像本身的鏈接。 但是,大部分可能不是必需的。該用戶是否看到其他圖像?如果你給他們直接鏈接到圖像會發生什麼? – NotMe 2010-06-30 21:26:06
@jfar和克里斯,我已經更新了建議的帖子 – batwadi 2010-06-30 21:30:43