У меня есть приложение 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
Не зная других конкретных проблем, таких как браузер и конфигурация пользователей, а также ссылку на изображение. Однако, большая часть этого, вероятно, не нужна. Этот пользователь видит другие изображения? Если вы дадите им прямую ссылку на изображение, что произойдет? и т. д. – NotMe
@jfar и Chris, я обновил сообщение, как предлагалось – batwadi