专栏首页技术博客ExtJs三(实现验证码图片控制器)

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

前言

在Extjs二(实现登录)http://www.cnblogs.com/aehyok/archive/2013/04/18/3028739.html,今天紧跟上一次内容继续,本次主要就是实现验证码图标控制器。

实现验证码图片控制器

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

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

    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 条评论
登录 后参与评论

相关文章

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

    在Extjs二(实现登录)http://www.cnblogs.com/aehyok/archive/2013/04/18/3028739.html,今天紧跟上...

    aehyok
  • C#多线程

    根据上一节中http://www.cnblogs.com/aehyok/archive/2013/05/02/3054615.html对多线程的入门了解。本节就...

    aehyok
  • C# 泛型的简单理解(安全、集合、方法、约束、继承)

    泛型允许你在编译时实现类型安全。它们允许你创建一个数据结构而不限于一特定的数据类型。然而,当使用该数据结构时,编译器保证它使用的类型与类型安全是相一致的。泛型提...

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

    在Extjs二(实现登录)http://www.cnblogs.com/aehyok/archive/2013/04/18/3028739.html,今天紧跟上...

    aehyok
  • 【RT-Thread笔记】内核基础

    最近在工作中有用到多任务系统,趁热进行学习一下。这里我选择国产实时操作系统RT-Thread进行学习,因为现在很火呀。之前已经有简单地过了一遍RT-Thread...

    正念君
  • 20120919-二叉树 数据结构《数据结构与算法分析》

    又是一次的毕业季,羡慕嫉妒啊.... 二叉查找树类的框架: 1 template <typename Comparable> 2 class BinaryS...

    用户1154259
  • 修改 wordpress 后台登陆地址和登陆用户名

    魏艾斯博客www.vpsss.net
  • k8s实践(一):Centos7.6部署k8s(v1.14.2)集群

    Kubernetes这个名字源自希腊语,意思是“舵手”,也是“管理者”,“治理者”等词的源头。k8s是Kubernetes的简称(用数字『8』替代中间的8个字母...

    loong576
  • 程序员C语言快速上手——高级篇(十一)

    线性表是最为常用的数据结构之一,其他高级语言也都有提供,也就是Java、Python中的List

    arcticfox
  • python pymysql存储

    py3study

扫码关注云+社区

领取腾讯云代金券