本文主要是介绍在ASP.NET项目中如何使用C#生成二维码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
《在ASP.NET项目中如何使用C#生成二维码》二维码(QRCode)已广泛应用于网址分享,支付链接等场景,本文将以ASP.NET为示例,演示如何实现输入文本/URL,生成二维码,在线显示与下载的完整...
二维码(QR Code)已广泛应用于网址分享、支付链接、票务验证、身份登录等场景。在 ASP.NET 项目中,我们可以通过 C# 结合 Free Spire.Barcode for .NET 快速生成二维码,并将其直接显示在网页上,或制作下载链接。
本文将以 ASP.NET Core Web Apjsp(Razor Page) 为示例,演示如何实现 输入文本/URL → 生成二维码 → 在线显示与下载 的完整流程。
- 创建输入与显示二维码的页面
- 在后台生成二维码图片并返回 Base64 编码
- 将二维码显示到页面并提供下载功能
本文示例使用 Free Spire.Barcode for .NET 生成二维码。你可以通过 NuGet 安装:
dotnet add package FreeSpire.Barcode
创建前端页面(Index.cshtml)
在 Razor Page 中,我们需要一个输入框供用户填写二维码内容,以及一个提交按钮触发后台生成逻辑。生成的二维码将直接以图片的形式显示,并提供下载链接。
优化后的 HTML 代码示例:
@page @model IndexModel @{ ViewData["Title"] = "QR Code Generator"; } <h2>QR Code Generator</h2> <form method="post"> <label for="InputData">Enter text or URL:</label><br /> <input type="text" id="InputData" name="InputData" required /> <button type="submit"> Generate QR Code </button> </form> @if (!string.IsNullOrEmpty(Model.QrCodeBase64)) { <div> <img src="data:image/png;base64,@Model.QrCodeBase64" alt="在ASP.NET项目中如何使用C#生成二维码" /> <a href="data:image/png;base64,@Model.QrCodeBase64" rel="external nofollow" download="qrcode.png" > Download QR Code </a> </div> }
前端实现要点:
- 表单通过
POST
提交输入数据; - 二维码显示采用
data:image/png;base64
形式,无需保存到磁盘; - 提供下载按钮,直接保存二维码图片到本地。
后端二维码生成逻辑(Index.cshtml.cs)
后台逻辑的核心是利用 Spire.Barcode 提供的 BarcodeSettings
与 BarCodeGenerator
类生成二维码,并将生成的图片转换为 Base64 字符串返回给前端页面显示。
代码示例:
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using Spire.Barcode; public class IndexModel : PageModel { [BindProperty] public string InputData { get; set; } public string QrCodeBase64 { get; set; } public void OnPost() { if (!string.IsNullOrWhiteSpace(InputData)) { QrCodeBase64 = GenerateQrCodeBase64(InputData); } } private string GenerateQrCodeBase64(string input) { var settings = new BarcodeSettings { Type = BarCodeType.QRCode, // 指定二维码类型 Data = input, // 编码数据 Data2D = input, // 二维码需要设置 Data2D QRCodeDataMode = QRCodeDataMode.Byte, // 字节模式(支持多语言) QRCodeECL = QRCodeECL.M, // 中等级纠错(可恢复 15% 数据) X = 3, // 模块大小 ShowText = false, // 不显示默认条码文字 ShowBottomText = true, // 显示自定义底部文字 BottomText = input // 底部显示输入内容 }; var generator = new BarCodeGenerator(settings); python using var ms = new MemoryStream(); var qrImage = generator.GenerateImage(); qrImage.Save(ms, System.Drawing.Imaging.ImageFormat.Png); return Convert.ToBase64String(ms.ToArray()); } } js
关键技术说明:
QRCodeDataMode.Byte
:支持中文、日文等多字节字符,避免乱码;QRCodeECL.M
:中等级纠错,适合大部分场景;BottomText
:可自定义底部文字,比如显示原始输入内容。
运行效果
当用户在输入框中填写内容并点击“Gjsenerate QR Code”按钮后,页面会立即生成二维码并显示,同时提供“Download QR Code”按钮,方便保存到本地。
总结
通过 ASP.NET Core Razor Page + Spire.Barcode for .NET,我们可以非常方python便地实现网页端输入数据并生成二维码、即时显示二维码图片,并直接提供图片下载功能。这种方式无需额外的临时文件存储,生成速度快,适合在登录验证、活动报名、文件分享等场景中使用。
如果你需要更复杂的二维码功能(如带 Logo、颜色定制、批量生成等),可以继续扩展 BarcodeSettings
的参数。
到此这篇关于在ASP.NET项目中如何使用C#生成二维码的文章就介绍到这了,更多相关C#生成二维码内容请搜索China编程(www.chinasem.cn)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程China编程(www.chinasem.cn)!
这篇关于在ASP.NET项目中如何使用C#生成二维码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!