项目中需要生成二维码,方法比较多,可以采用JS插件,也可以采用第三方插件后台生成二维码,在后台方法中可以采用QRCode或者GmaQrCode,现在介绍一种C#在后台生成二维码的方法:

///<summary>///获取二维码///</summary>///<paramname="codeString">编码字符</param>///<returns>二维码地址</returns>publicstaticstringReturnGmaQrCode(stringcodeString){try{using(varms=newMemoryStream()){//conststringstringtest="中国inghttps://cache.yisu.com/upload/information/20200311/60/235858.html";img.Save(path);returnpath;}}catch(Exceptionex){thrownewException(ex.Message);}}///<summary>///获取二维码///</summary>///<paramname="strContent">待编码的字符</param>///<paramname="ms">输出流</param>///<returns>Trueiftheencodingsucceeded,falseifthecontentisemptyortoolargetofitinaQRcode</returns>publicstaticboolCreateGmaQrCodeHelper(stringstrContent,MemoryStreamms){try{//误差校正水平constErrorCorrectionLevelecl=ErrorCorrectionLevel.M;//待编码内容varcontent=strContent;//空白区域constQuietZoneModulesquietZones=QuietZoneModules.Two;//大小constintmoduleSize=12;varencoder=newQrEncoder(ecl);QrCodeqr;//对内容进行编码,并保存生成的矩阵if(encoder.TryEncode(content,outqr)){varrender=newGraphicsRenderer(newFixedModuleSize(moduleSize,quietZones));render.WriteToStream(qr.Matrix,ImageFormat.Png,ms);}else{returnfalse;}}catch(Exceptionex){thrownewException(ex.Message);}returntrue;}

在asp.net的项目中,将生成的二维码地址返回至当前方法。可以采用ashx文件加载图片文件,在页面中获取地址,可以在页面中显示二维码。