我需要编写一个http处理程序,它将实例化telerik验证码对象并返回验证码图像的字节数组。
此http处理程序将成为另一页上IMG的来源。
Default.aspx的:
<img src="Handler1.ashx" alt="Alternate Text" />
Handler1.ashx:
public class Handler1 : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
Telerik.Web.UI.CaptchaImage captchaImage = new Telerik.Web.UI.CaptchaImage();
// How can I return captchaImage's byte array (it is not a binary image)
context.Response.ContentType = "image/JPEG"; // ??
}
public bool IsReusable
{
get { return false; }
}
}
答案 0 :(得分:2)
只需在验证码中渲染图像并将其转换为字节数组。
using (MemoryStream ms = new MemoryStream())
{
captchaImage.RenderImage().Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] byteArray = ms.ToArray();
context.Response.BinaryWrite(byteArray);
}