Я ссылаюсь на файл Ashx, чтобы показать изображение, которое генерируется во время выполнения:
<img alt="" style="height: 200px; width: 450px;"
id="Img1" src="<%= Url.Content ("~/Helpers/GetImage.ashx?side=Front") %>" />
Ниже приведен код, который создает изображение. Но я обеспокоен тем, что это не правильный подход; я должен вместо этого использовать контроллер, который возвращает ImageResult?
if (!string.IsNullOrEmpty(context.Request.Params["side"]))
{
string ImageType = string.Empty;
if (context.Request.Params["side"].Equals("Front"))
{
ImageType="FrontJpegBase64";
}
else
{
ImageType = "BackJpegBase64";
}
Log.Info(context.Session["FrontBase64"].ToString());
byte[] imageByteArray = System.Convert.FromBase64String(context.Session[ImageType].ToString());
System.IO.MemoryStream imageMemoryStream = new System.IO.MemoryStream(imageByteArray);
try
{
using (System.Drawing.Image img = System.Drawing.Image.FromStream(imageMemoryStream))
{
img.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
}
}
catch (System.Exception ex)
{
Log.Error(ex, ": ConvertBytesToImage {0} ");
}
finally
{
imageMemoryStream.Close();
context.Response.Flush();
}
}