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

相关文章

来自专栏用户2442861的专栏

C++11网络编程

Handy是一个简洁优雅的C++11网络库,适用于linux与Mac平台。十行代码即可完成一个完整的网络服务器。

59740
来自专栏北京马哥教育

Nginx 进阶 (ssl、fpm、rewrite、cache配置等)

一、配置https网站 1、自建CA (1)生成私钥文件 mkdir -p /etc/pki/CA/private #创建私钥保存的目录 (umask 077;...

48480
来自专栏iKcamp

系列3|走进Node.js之多进程模型

文:正龙(沪江网校Web前端工程师) 本文原创,转载请注明作者及出处 之前的文章“走进Node.js之HTTP实现分析”中,大家已经了解 Node.js 是...

44370
来自专栏DannyHoo的专栏

Xcode8之后使用cocoapods遇到的问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

11010
来自专栏月牙寂

docker源码分析(4)---execdriver

第一时间获取文章,可以关注本人公众号 月牙寂道长 yueyajidaozhang

362100
来自专栏kevin-blog

python版本管理工具:pyenv

这几天在学习python,因为我学的是python3的语法,但是我ubuntu默认安装的是python2,我sqlmap需要的环境也是python2的,但是我需...

17630
来自专栏运维一切

应用更新和部署 转

先来看我蹩脚的翻译:https://mesosphere.github.io/marathon/docs/deployments.html 应用部署

7620
来自专栏用户2442861的专栏

HTTP POST GET 本质区别详解

    一般在浏览器中输入网址访问资源都是通过GET方式;在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交

32020
来自专栏嵌入式程序猿

带你走进飞思卡尔Flashloader(3)

学习完协议篇,今天我们来学习飞思卡尔Flashloader之命令API。 获取属性命令 获取属性命令用来查询Flashloader的各种属性和设置,每一个支...

28570
来自专栏逸鹏说道

CentOS安装Python3.7

先下载一下压缩包(FTP传也一样):weget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar...

11930

扫码关注云+社区

领取腾讯云代金券