ExtJs三(实现验证码图片控制器)

2019-02-25 16:22:27 浏览数 (1)

前言

在Extjs二(实现登录)https://cloud.tencent.com/developer/article/1395102,今天紧跟上一次内容继续,本次主要就是实现验证码图标控制器。

实现验证码图片控制器

 1.现在项目中添加一个Helper目录,该目录将用来放置一些辅助性的类,包括一些自定义的实用方法。然后把VerifyCode.cs文件复制到该目录下,打开该文件,为其添加命名空间“ExtMVCOne.Helper”,这样做的目的是为了方便控制器访问该类。

接着在控制器目录(Controllers)添加一个名为VerifyCodeController的控制器,因为输出的是文件格式的图片,不是视图,因而需要将返回类型ActionResult修改为FileContentResult。在VerifyCode类中,CreateVerifyCode方法可生成一个4位的验证码,而调用CreateImages方法则可返回图片的字节数组,通过这两个就可以生成图片文件了,代码如下:

代码语言:javascript复制
    public class VerifyCodeController : Controller
    {
        //
        // GET: /VerifyCode/

        public FileContentResult Index()
        {
            VerifyCode v = new VerifyCode();
            v.Length = 4;
            string code = v.CreateVerifyCode();                //取随机码
            Session["vcode"] = code;
            v.Padding = 10;
            byte[] bytes = v.CreateImage(code);
            return File(bytes, @"image/jpeg");
        }
    }

最后返回一个由CreateImage返回的字节数组构成的文件,文件类型为jpeg格式。

控制器的编码已经完成了,现在来测试一下是否能正常显示图片。在浏览器中打开网站,然后修改地址访问VerifyCode控制器

可见验证码图片控制器实现了哦

0 人点赞