zoukankan      html  css  js  c++  java
  • ASP.NET 一个页上需要显示多个验证码

    1、后台获取验证字节流,以字符串的形式返回到前端。

            public ActionResult GetValidateGraphic()
            {
                var validate = new ValidateCode();
                var code = validate.CreateValidateCode(4);
                var image = validate.CreateValidateGraphic(code);
                Session["ValidateCode"] = code;//验证码添加到Session 
                return Content(Convert.ToBase64String(image));
            }

    2、前台用ajax获取

        ChangeValidateCode: function () {
            $.ajax({
                async: false,
                url: "/Login/GetValidateGraphic",
                success: function (data) {
                    $('#yxValidateCode').attr('src', 'data:image/png;base64,' + data);
                    $('#bqfValidateCode').attr('src', 'data:image/png;base64,' + data);
                    $('#glValidateCode').attr('src', 'data:image/png;base64,' + data);
                }
            });
        }

    这样页面上就可以显示多个相同的验证码了。

    那么这是什么呢?这是Data URI scheme。URI scheme是在RFC2397中定义的,目的是将一些小的数据,直接嵌入到网页中,从而不用再从外部文件载入。

    我们可以直接将图片写入到html文件中,这样可以节省一个图片的请求,缺点是浏览器无法缓存此图片。

  • 相关阅读:
    POJ 2112 Optimal Milking (Floyd+二分+最大流)
    hdu5444 Elven Postman
    hdu5442 Favorite Donut
    hdu5437 Alisha’s Party
    hdu5433 Xiao Ming climbing
    hdu5432 Pyramid Split
    Codeforces Round #316 (Div. 2) C. Replacement
    hdu5396 Expression
    hdu3506 Monkey Party
    hdu3516 Tree Construction
  • 原文地址:https://www.cnblogs.com/beijing2020/p/6424046.html
Copyright © 2011-2022 走看看