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/

posted @ 2022-02-12 16:49  码上的飞鱼  阅读(244)  评论(0)    收藏  举报