zoukankan      html  css  js  c++  java
  • 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之创建输出验证码图片的控制器

           登录窗口完成后,还需要几个步骤才能完成登录。现在先来完成输出验证码图片的控制器。要完成这个,需要使用VerifyCode类,该类是在网上找的,因为年代久远,出处都忘记了,在此向作者说声抱歉。

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

          接着在控制器目录(Controllers)添加一个名为VerifyCodeController的控制器,控制器的代码如下:

    usingSystem;

    usingSystem.Collections.Generic;

    usingSystem.Linq;

    usingSystem.Web;

    usingSystem.Web.Mvc;

    namespace SimpleCMS.Controllers

    {

        public class VerifyCodeController :Controller

        {

            //

            //GET: /VerifyCode/

            public ActionResult Index()

            {

                return View();

            }

        }

    }

          因为输出的是文件格式的图片,不是视图,因而需要将返回类型ActionResult修改为FileContentResult。

          接着添加对VerifyCode类的引用:

    usingSimpleCMS.Helper;

          在VerifyCode类中,CreateVerifyCode方法可生成一个6位的验证码,而调用CreateImages方法则可返回图片的字节数组,通过这两个就可以生成图片文件了,代码如下:

            public FileContentResultIndex()

            {

                VerifyCode v = new VerifyCode();

                string code =v.CreateVerifyCode();                //取随机码

               Session["vcode"] = code;

               v.Padding = 10;

                byte[] bytes =v.CreateImage(code);

                return File(bytes, @"image/jpeg");

            }

           Session中的关键字可以根据自己喜欢的名字定义,不一定是vcode。Padding属性与页面中使用CSS定义内补丁的作用一样的。最后返回一个由CreateImage返回的字节数组构成的文件,文件类型为jpeg格式。

          控制器的编码已经完成了,现在来测试一下是否能正常显示图片。可直接按Ctra+F5,或在主菜单中选择调试,开始执行(不调试),在浏览器中打开网站,然后修改地址访问VerifyCode控制器,如果能显示如图8所示的结果(图中的验证码会不同),表示控制器已经完成了。



  • 相关阅读:
    渗透利器-kali工具 (第四章-4) 学习python强大的第三方库
    渗透利器-kali工具 (第四章-3) Python数据结构学习
    渗透利器-kali工具 (第四章-2) python循环判断分支语句与异常处理
    渗透利器-kali工具 (第四章-1) Python环境安装与基本语法
    渗透利器-kali工具 (第三章-7) webshell管理工具
    渗透利器-kali工具 (第三章-6) Xss漏洞学习之-Beef-Xss
    php面试笔记(6)-php基础知识-正则表达式考点
    php利用七牛云的对象存储完成图片上传-高效管理图片
    将Markdown编辑器搬进您的博客-让我们更优雅的书写文章
    踩坑ThinkPHP5之模型对象返回的数据集如何转为数组
  • 原文地址:https://www.cnblogs.com/hainange/p/6334247.html
Copyright © 2011-2022 走看看