使用 IRONQR 如何在 ASP .NET 中扫描 QR 代码 Jordi Bardia 已更新:六月 22, 2025 Download IronQR NuGet 下载 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article QR 码在我们的数字世界中已经无处不在,经常用于广告、零售、活动管理等领域。 对于在 ASP.NET Framework 中工作的开发人员来说,将二维码扫描功能集成到网络应用程序中可以增强用户体验和功能。 本文探讨了在 ASP.NET 应用程序中实施 QR 码扫描器的过程,包括所需的工具、库和逐步实施。 We will use IronQR, a powerful library for QR code generation from Iron Software to read QR codes. 如何在 ASP.NET 中扫描 QR 码了解 QR 代码及其使用案例IronQR 简介IronQR 的主要优势和功能步骤 1:使用 Visual Studio 创建一个新的 ASP.NET 项目How to Scan QR Code in ASP .NET:图 1 - 使用 Visual Studio 创建一个新的 ASP.NET 项目。 接下来,您应提供项目名称和项目地点。 !a href="/static-assets/qr/blog/asp-net-qr-code-scanner/asp-net-qr-code-scanner-2.webp">How to Scan QR Code in ASP .NET:图 2 - 提供项目名称和希望保存的位置。 选择 .NET 版本。 !a href="/static-assets/qr/blog/asp-net-qr-code-scanner/asp-net-qr-code-scanner-3.webp">How to Scan QR Code in ASP .NET:图 3 - 选择您希望使用的 .NET 版本。 点击创建按钮将创建以下代码和项目。 !a href="/static-assets/qr/blog/asp-net-qr-code-scanner/asp-net-qr-code-scanner-4.webp">How to Scan QR Code in ASP .NET:图 4 - 单击创建按钮,Visual Studio 将为您提供项目模板。 步骤 2:从 Visual Studio 软件包管理器安装 IronQR 库How to Scan QR Code in ASP .NET:图 5 - 使用 Visual Studio 软件包管理器搜索 IronQR 并安装。 [IronQR](/csharp/qr/) can also be installed using [NuGet](https://www.nuget.org) 软件包管理器进行安装。 !a href="/static-assets/qr/blog/asp-net-qr-code-scanner/asp-net-qr-code-scanner-6.webp">How to Scan QR Code in ASP .NET:图 6 - 通过 NuGet 软件包管理器搜索 IronQR。 步骤 3:上传 QR 图像并读取 QR 图像创建 QR 代码控制器How to Scan QR Code in ASP .NET:图 7 - 单击文件夹添加新控制器并为其命名。 选择空控制器。 !a href="/static-assets/qr/blog/asp-net-qr-code-scanner/asp-net-qr-code-scanner-8.webp">How to Scan QR Code in ASP .NET:图 8 - 单击提示符上的空控制器。 提供控制器名称。 !a href="/static-assets/qr/blog/asp-net-qr-code-scanner/asp-net-qr-code-scanner-9.webp">How to Scan QR Code in ASP .NET:图 9 - 命名控制器 现在将以下代码添加到控制器中。 ```csharp // Import necessary namespaces using IronQr; using IronQRScannerAsp.Models; using IronSoftware.Drawing; using Microsoft.AspNetCore.Mvc; namespace IronQRScannerAsp.Controllers { // Controller to handle QR code scanning functionalities public class QrCodeController : Controller { private readonly IWebHostEnvironment _environment; // Constructor for dependency injection of the hosting environment public QrCodeController(IWebHostEnvironment environment) { _environment = environment; } // Displays the initial View public IActionResult Index() { ViewBag.QrCodeText = "Text"; return View(); } // Handles the POST request to scan a QR code [HttpPost] public IActionResult ScanQRCode(QRCodeModel qrImage) { string path = Path.Combine(_environment.WebRootPath, "ScanQRCode"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } // Define the file path for saving the uploaded QR image string filePath = Path.Combine(_environment.WebRootPath, "ScanQRCode/qrcode.png"); using (var stream = System.IO.File.Create(filePath)) { qrImage.QRCodeImage.CopyTo(stream); // Save uploaded image to server } // Open the asset to read a QR Code from var bitmap = AnyBitmap.FromFile(filePath); // Load the asset into QrImageInput QrImageInput imageInput = new QrImageInput(bitmap); // Create a QR Reader object QrReader reader = new QrReader(); // Read the Input and get all embedded QR Codes IEnumerable results = reader.Read(imageInput); // Display scanned text and image on the view ViewBag.QrCodeText = results.First().Value; string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}" + "/ScanQRCode/qrcode.png"; ViewBag.QrCodeUri = imageUrl; return View(); } } } ``` 代码解释1.保存上传的 QR 代码图像路径构建文件保存2.解码 QR 代码阅读图像文件初始化 QR 阅读器扫描二维码` ,其中每个 `QrResult` 都包含图像中检测到的 QR 代码的数据。 - 它使用 `results.First().Value` 提取第一个结果的值,并将解码后的信息存储在 `ViewBag.QrCodeText` 中。 译文假定图片至少包含一个 QR 码,并且不处理未检测到 QR 码的潜在错误。 3.准备和返回响应图片 URL 构建查看返回向控制器类添加视图How to Scan QR Code in ASP .NET:图 10 - 在 `QrCodeController` 类中添加一个新视图。 选择 "添加视图 "选项,然后选择 "Razor View"。 单击 "添加"。 !a href="/static-assets/qr/blog/asp-net-qr-code-scanner/asp-net-qr-code-scanner-11.webp">How to Scan QR Code in ASP .NET:图 11 - 选择 "添加视图 "选项,然后选择 "Razor 视图",再选择 "添加"。 然后选择之前生成的 "创建 "模板和模型类。 !a href="/static-assets/qr/blog/asp-net-qr-code-scanner/asp-net-qr-code-scanner-12.webp">How to Scan QR Code in ASP .NET:图 12 - 选择先前生成的创建模板 . 现在将视图类中的代码替换为下图所示的代码。 ```cshtml @model IronQRScannerAsp.Models.QRCodeModel @{ ViewData["Title"] = "ScanQRCode"; } ScanQRCode QRCodeModel Select QR Image: Scanned Text: @ViewBag.QrCodeText @if (ViewBag.QrCodeUri != null) { } Clear @section Scripts { @{await Html.RenderPartialAsync("_ValidationScriptsPartial");} } ``` 现在,在 `Program.cs` 中更改以下代码,使上述视图成为默认路径: ```csharp app.MapControllerRoute( name: "default", pattern: "{controller=QrCode}/{action=Index}"); ``` 这将把默认路由从 `HomeController` 更改为我们的 `QrCode` Controller。 输入带 URL 的图片:。 !a href="/static-assets/qr/blog/asp-net-qr-code-scanner/asp-net-qr-code-scanner-13.webp">How to Scan QR Code in ASP .NET:图 13 - QR 码输入示例。 输出How to Scan QR Code in ASP .NET:图 14 - 按照上述步骤操作后的输出示例。 在页面上选择一个 QR 代码图像,然后点击上传以解码 QR 代码。 此应用程序也可修改为从视频源读取并显示结果。 步骤 4:读取高级 QR 代码 Machine Learning Scan QrImageInput scan_ML_and_normal = new QrImageInput(inputBmp, QrScanMode.OnlyDetectionModel); IEnumerable results1 = new QrReader().Read(scan_ML_and_normal); // Use Machine Learning Scan - High Speed QrImageInput scan_ML_only = new QrImageInput(inputBmp, QrScanMode.OnlyDetectionModel); IEnumerable results2 = new QrReader().Read(scan_ML_only); // Use Scan without Machine Learning QrImageInput scan_normal_only = new QrImageInput(inputBmp, QrScanMode.OnlyBasicScan); IEnumerable results3 = new QrReader().Read(scan_normal_only); ``` 通过利用最新的 ML 技术,我们将 QR 码阅读器提升到了新的高度。 即使在复杂的条件下,复杂的 ML 模型也能提高应用程序解码 QR 代码的准确性和效率。 无论是从静态图像、视频流还是实时摄像机画面中读取 QR 码,ML 驱动的解决方案都能快速、可靠地提供所需的信息。 这项创新通过识别真实 QR 代码和标记潜在威胁,简化了数据检索并提高了安全性。 有了我们的 ML 技术,您可以确信您的二维码扫描功能处于最前沿,为您的用户提供流畅、安全的体验。 许可证(可试用)结论 常见问题解答 如何在ASP.NET应用程序中实现二维码扫描器? 要在ASP.NET应用程序中实现二维码扫描器,首先在Visual Studio中创建一个新项目,通过包管理器安装IronQR库,并添加代码处理使用IronQR强大功能进行二维码扫描。 在ASP.NET中设置QRCodeModel的步骤是哪些? 在ASP.NET中设置QRCodeModel,定义处理二维码数据的模型类,使用IronQR处理输入,并确保ASP.NET应用程序可以管理二维码扫描和结果显示。 IronQR可以读取不同图像格式的二维码吗? 是的,IronQR可以从多种图像格式读取二维码,包括jpg, png, svg, bmp, gif, tif, tiff和多页图像,使其在各种应用中具有通用性。 IronQR如何利用机器学习进行二维码扫描? IronQR采用先进的机器学习模型来提高二维码扫描的准确性,确保在不同环境和平台中可靠而精确地读取。 我可以使用什么平台进行IronQR的二维码扫描? IronQR支持广泛的平台包括Web应用程序(Blazor & WebForms), 手机应用(Xamarin & MAUI), 桌面应用(WPF & MAUI), 和控制台应用程序,兼容C#, F#, 和VB.NET。 如何在ASP.NET中处理二维码扫描的文件上传? 在ASP.NET中,通过设置一个控制器接收文件来管理二维码扫描的文件上传,然后使用IronQR有效地处理和扫描上传的二维码图像。 IronQR可以从视频流中扫描二维码吗? 是的,IronQR可以调整为从视频流中扫描二维码,扩展其在需要实时数据处理的动态环境中的应用。 IronQR有什么许可选项? IronQR提供可从Iron Software网站获得的试用许可。开发者应将许可证密钥放在appSettings.json文件中以激活试用。 在ASP.NET中使用IronQR进行二维码扫描有哪些好处? 在ASP.NET中使用IronQR进行二维码扫描的好处包括易于集成,支持多种图像格式,机器学习增强的准确性以及跨平台兼容性。 如何在ASP.NET中使用IronQR自定义二维码创建? 要在ASP.NET中使用IronQR自定义二维码创建,利用库的功能修改二维码大小、颜色和嵌入数据,根据特定的应用需求定制输出。 Jordi Bardia 立即与工程团队聊天 软件工程师 Jordi 最擅长 Python、C# 和 C++,当他不在 Iron Software 利用这些技能时,他就在游戏编程。分享产品测试、产品开发和研究的责任,Jordi 在持续的产品改进中增加了巨大的价值。多样的经验使他面临挑战并保持投入,他表示这是在 Iron Software 工作的最喜欢的方面之一。Jordi 在佛罗里达州迈阿密长大,并在佛罗里达大学学习计算机科学和统计学。 相关文章 已更新九月 18, 2025 如何在 C# 中从图像读取 QR 在本指南中,我们将引导您如何使用专为 .NET 构建的高性能 QR 代码库 IronQR,只需几行 C# 代码即可从图像读取 QR 代码。 阅读更多 已更新八月 20, 2025 如何使用 .NET MAUI 进行 QR 代码扫描 本文将引导您使用 IronQR 创建 .NET MAUI 条形码扫描器和 QR 代码阅读器。 阅读更多 已更新七月 28, 2025 如何在 Visual Studio 中生成 QR 代码 或者,您可以通过 Visual Studio 的 NuGet 软件包管理器界面搜索“IronQR”并选择最新稳定版本。 阅读更多 如何在 ASP .NET Core 中生成 QR 代码如何在 C# 中扫描 QR 代码
已更新九月 18, 2025 如何在 C# 中从图像读取 QR 在本指南中,我们将引导您如何使用专为 .NET 构建的高性能 QR 代码库 IronQR,只需几行 C# 代码即可从图像读取 QR 代码。 阅读更多
已更新七月 28, 2025 如何在 Visual Studio 中生成 QR 代码 或者,您可以通过 Visual Studio 的 NuGet 软件包管理器界面搜索“IronQR”并选择最新稳定版本。 阅读更多