ASP.NET 一個頁上需要顯示多個驗證碼

來源:互聯網
上載者:User

標籤:str   get   頁面   content   後台   success   pre   logs   定義   

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檔案中,這樣可以節省一個圖片的請求,缺點是瀏覽器無法緩衝此圖片。

 

ASP.NET 一個頁上需要顯示多個驗證碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.