我正在动态创建图片,需要向用户展示这些图片。 为此我创建了一个ashx文件,但问题是这个ashx文件永远不会被调用不确定为什么路径问题或需要在web.config中添加任何标签.. 调试它不会..可能是它没有找到 请指教。
编辑:当我直接点击ashx网址并显示一些结果时
编辑1:在上下文中出于任何原因知道会话是否为空?
或MVC asp.net不要求ashx处理程序请指教。
/// <summary>
/// Summary description for $codebehindclassname$
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class GetImage : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
Log.Info(" In theGetImage");
context.Response.Clear();
byte[] imageByteArray = System.Convert.FromBase64String(context.Session["FrontJpegBase64"].ToString().Replace(' ', '+'));
// System.IO.MemoryStream imageMemoryStream = new System.IO.MemoryStream(imageByteArray);
try
{
using (System.Drawing.Image img = System.Drawing.Image.FromStream(new System.IO.MemoryStream(imageByteArray)))
{
img.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
}
}
catch (System.Exception ex)
{
}
finally
{
// img.Close();
context.Response.Flush();
}
}
public bool IsReusable
{
get
{
return false;
}
}
}
答案 0 :(得分:0)
在控制器中,您需要创建一个返回FileResult
的函数在vb.net中
Function img() As FileResult
Dim bmp As Bitmap = Nothing
Dim dll As New Chess.cChessBoard
dll.drawBoardPNG(bmp)
Dim imgStream As New IO.MemoryStream
bmp.Save(imgStream, ImageFormat.Png)
imgStream.Position = 0
Return File(imgStream.ToArray, "image/png")
End Function
在视图中,您只需要调用
<img src="/test/chess/img" />