0

我需要编写一个 http 处理程序来实例化 Telerik 验证码对象并返回验证码图像的字节数组。

这个 http 处理程序将成为另一个页面上 IMG 的源。

默认.aspx:

<img src="Handler1.ashx" alt="Alternate Text" />

处理程序1.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; }
    }
}
4

1 回答 1

2

只需在验证码中渲染图像并将其转换为字节数组。

using (MemoryStream ms = new MemoryStream())
{
    captchaImage.RenderImage().Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
    byte[] byteArray = ms.ToArray();
    context.Response.BinaryWrite(byteArray);
}
于 2012-09-17T14:33:35.797 回答