真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

用BlazorServerSide如何實(shí)現(xiàn)圖片驗(yàn)證碼-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!

東鄉(xiāng)族ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!

這篇文章將為大家詳細(xì)講解有關(guān)用Blazor Server Side如何實(shí)現(xiàn)圖片驗(yàn)證碼,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

關(guān)于Blazor

由于在國內(nèi), Blazor一點(diǎn)都不普及, 在閱讀此文前, 建議讀者先翻看我之前寫的隨筆, 了解Blazor Server Side的特點(diǎn).

在一段時(shí)間內(nèi), 我會(huì)寫一些解說分析型的 "為什么選擇 Blazor Server Side" , 在適當(dāng)?shù)臅r(shí)候再寫快速入門系列.(無論是針對編程新學(xué)者還是多年經(jīng)驗(yàn)人士)

驗(yàn)證碼

我們很多場合都實(shí)現(xiàn)過圖片驗(yàn)證碼.

圖片驗(yàn)證碼的主要關(guān)鍵是呈現(xiàn)圖片, 需要一個(gè)URL, 而這個(gè)URL需要傳遞參數(shù)以確定顯示什么東西.

這個(gè)驗(yàn)證碼如何在服務(wù)器保存, 如何傳遞一個(gè)參數(shù)公開給客戶端, 還不能讓別人解密這個(gè)參數(shù)破解驗(yàn)證碼, 都是麻煩事

這個(gè)例子是講述如何用極短的 "單頁" 代碼, 實(shí)現(xiàn)驗(yàn)證過程.

先上圖:

用Blazor Server Side如何實(shí)現(xiàn)圖片驗(yàn)證碼

再上代碼:

@page "/BlazorVerificationCode"

(Blazor) A sample for how to show verification code and verify it.

@inject IJSRuntime jsr @{ if (imgurl == null) MakeNewImage(); }
Type the number in image
@code{ string inp_code; string vericode; string imgurl; void DoCheck() { string msg = "You typed a wrong value"; if (inp_code == vericode) msg = "Yes the number is " + vericode; jsr.InvokeAsync("alert", msg); } void MakeNewImage() { vericode = new Random().Next(100000, 999999).ToString(); using SkiaSharp.SKBitmap bmp = new SkiaSharp.SKBitmap(200, 80); using (SkiaSharp.SKCanvas canvas = new SkiaSharp.SKCanvas(bmp)) { canvas.Clear(SkiaSharp.SKColors.White); using SkiaSharp.SKPaint skp = new SkiaSharp.SKPaint(); skp.Color = SkiaSharp.SKColors.Red; skp.TextSize = 40; canvas.DrawText(vericode, 30, 55, skp); canvas.Save(); } using System.IO.MemoryStream ms = new System.IO.MemoryStream(); using SkiaSharp.SKManagedWStream ws = new SkiaSharp.SKManagedWStream(ms); bmp.Encode(ws, SkiaSharp.SKEncodedImageFormat.Jpeg, 100); imgurl = "data:image/jpeg;base64," + Convert.ToBase64String(ms.ToArray()); } }
當(dāng)前題目:用BlazorServerSide如何實(shí)現(xiàn)圖片驗(yàn)證碼-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://weahome.cn/article/dojgcg.html

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部