如何从telerik CaptchaImage获取字节数组?

时间:2012-09-17 14:17:27

标签: c# asp.net telerik bytearray captcha

我需要编写一个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; }
    }
}

1 个答案:

答案 0 :(得分:2)

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

using (MemoryStream ms = new MemoryStream())
{
    captchaImage.RenderImage().Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
    byte[] byteArray = ms.ToArray();
    context.Response.BinaryWrite(byteArray);
}