前言
在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控制器
可见验证码图片控制器实现了哦