ASP.NET MVC:图片验证码
FileResult
包括:FilePathResult、FileContentResult、FileStreamResult,但都通过:return File()返回。
其主要用途有:
- 弹出下载窗口,让用户可以方便的下载文件(演示:略)
- 显示动态生成的图片,比如:验证码
前端
<img id="captcha" src="/Register/Get" />
后台
MemoryStream stream = new MemoryStream(); bitmap.Save(stream, ImageFormat.Jpeg); return File(stream.ToArray(), "image/png");
在后台比对用户输入和Session中保存的值:
if (model.Captcha != Session[CaptchaController.CAPTCHA].ToString()) { ModelState.AddModelError("Register", "* 验证码输入错误"); return View(model); }
JavaScript刷新验证码,在src的url后添加url parameter
<a href="#" onclick="refreshCaptcha()" >刷新</a> <script> function refreshCaptcha() { var captcha = document.getElementById("captcha"), url = captcha.getAttribute("src"), //这里需要进一步的完善! random = Math.random(); captcha.setAttribute("src", url + "?version=" + random); } </script>
文章转载自:快速开发平台– 云微平台
地址:https://www.hocode.com/