前言
在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控制器
可見驗證碼圖片控制器實現了哦