在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
QR 碼已成為現代技術的重要組成部分,提供了一種方便的方式來存儲和傳輸信息。在網頁開發中,使用 IronQR 在 ASP.NET Core 中實現的 QR 碼生成器,提供了強大的動態 QR 碼創建功能。QR 碼生成器對於多種應用程式如票務系統、身份驗證、庫存管理等非常有價值。本文深入探討了使用 IronQR 在 ASP.NET Core 中創建 QR 碼的過程,一個專門設計用於此目的的強大庫。ASP.NET Core 作為一個構建網頁應用程式的多功能框架,提供了生成 QR 碼的強大功能。在本文中,我們將深入探討在 ASP.NET Core 中創建 QR 碼的過程。 IronQR,一個強大的 QR 碼生成庫 Iron Software.
使用 Visual Studio 建立 ASP.Net 專案
安裝 IronQR 從套件管理器的庫
生成 QR Code
IronQR 是一個高效能的 QR 碼生成庫,用於 .NET 應用程式。它提供了一個簡單直觀的 API,用於生成具有各種自定義選項的 QR 碼。IronQR 支援 .NET Standard,使其可以與包括 ASP.NET Core 在內的多種平台相容。使用 IronQR,開發者可以輕鬆生成具有不同數據類型、錯誤更正級別、大小和格式的 QR 碼。
IronQR 可讓您輕鬆地生成和讀取 QR 碼。無論您需要動態創建 QR 碼,還是從現有的 QR 碼中提取信息,這個庫都能滿足您的需求。
這個庫提供了一個使用者友好的 API,使開發人員能夠快速將條碼功能整合到他們的 .NET 專案中。您只需幾分鐘即可開始使用 QR 代碼。
IronQR 支援各種 .NET 版本,包括:
C#、VB.NET、F#
.NET Core (8, 7, 6, 5, 和 3.1+)
.NET Standard (2.0+)
它涵蓋了各種專案類型,包括網路 (Blazor 和 WebForms),手機 (Xamarin & MAUI),桌面 (WPF & MAUI),和控制台應用程式。
IronQR 使用先進的自定義機器學習模型來檢測 QR 碼。這確保了準確和可靠的代碼識別。另外,還有一個 Slim Mode 選項。 (非機器學習) 適用於那些偏好輕量級方法的人。
您可以從各種影像格式中讀取 QR 碼,包括:
多頁圖片 (gif, tif, tiff)
System.Drawing
位圖
AnyBitmap
)IronQR 允許您為不同的文件類型編寫 QR 碼,例如:
圖片 (jpg, png, gif, tiff, bmp)
System.Drawing
圖像
流 (MemoryStream
, byte
[])
自訂QR碼,調整大小、調整邊距和邊框、重新著色、添加商標
IronQR 提供詳細的錯誤訊息,並支援自訂的 QR 錯誤校正級別。
有了這些知識,讓我們開始在 ASP.NET Core 中生成 QR 代碼的應用程式。
在我們深入討論 QR 碼生成之前,讓我們先建立一個新的 ASP.NET Core 專案。以下是啟動新專案的步驟:
從 Visual Studio 開始創建一個新專案,並選擇 ASP.Net Core Web App 應用程式模板
請提供專案名稱和位置
選擇所需的 .NET 版本。
按下「建立」按鈕,從範本生成應用程式程式碼
安裝 IronQR 從 Visual Studio 套件管理器安裝庫如下面所示。
IronQR 也可以使用NuGet套件管理器安裝。
現在,讓我們來創建一個 QR Code 應用程式。
QRCode
模型using System.ComponentModel.DataAnnotations;
namespace GenerateQRCode.Models
{
public class QRCodeModel
{
[Display(Name = "Enter QR Code Text")]
public string QRCodeText
{
get;
set;
}
}
}
using System.ComponentModel.DataAnnotations;
namespace GenerateQRCode.Models
{
public class QRCodeModel
{
[Display(Name = "Enter QR Code Text")]
public string QRCodeText
{
get;
set;
}
}
}
Imports System.ComponentModel.DataAnnotations
Namespace GenerateQRCode.Models
Public Class QRCodeModel
<Display(Name := "Enter QR Code Text")>
Public Property QRCodeText() As String
End Class
End Namespace
要新增控制器,右鍵點擊控制器資料夾並提供如下所示的名稱。
選擇空控制器。
請提供一個名稱。
接下來,將以下代碼整合到控制器中。
using GenerateQRCode.Models;
using IronQr;
using IronSoftware.Drawing;
using Microsoft.AspNetCore.Mvc;
namespace GenerateQRCode.Controllers
{
public class QrCodeController : Controller
{
private readonly IWebHostEnvironment _environment;
public QrCodeController(IWebHostEnvironment environment)
{
_environment = environment;
}
public IActionResult Index()
{
return View();
}
[HttpPost]
public IActionResult CreateQRCode(QRCodeModel generateQRCode)
{
try
{
string path = Path.Combine(_environment.WebRootPath, "GeneratedQRCode");
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
string filePath = Path.Combine(_environment.WebRootPath, "GeneratedQRCode/qrcode.png");
// Create a QR Code object
QrCode myQr = QrWriter.Write(generateQRCode.QRCodeText);
// Save QR Code as a Bitmap
AnyBitmap qrImage = myQr.Save();
// Save QR Code Bitmap as File
qrImage.SaveAs(filePath);
string fileName = Path.GetFileName(filePath); // qr code file
string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}" + "/GeneratedQRCode/" + fileName;
ViewBag.QrCodeUri = imageUrl;
}
catch (Exception)
{
throw;
}
return View();
}
}
}
using GenerateQRCode.Models;
using IronQr;
using IronSoftware.Drawing;
using Microsoft.AspNetCore.Mvc;
namespace GenerateQRCode.Controllers
{
public class QrCodeController : Controller
{
private readonly IWebHostEnvironment _environment;
public QrCodeController(IWebHostEnvironment environment)
{
_environment = environment;
}
public IActionResult Index()
{
return View();
}
[HttpPost]
public IActionResult CreateQRCode(QRCodeModel generateQRCode)
{
try
{
string path = Path.Combine(_environment.WebRootPath, "GeneratedQRCode");
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
string filePath = Path.Combine(_environment.WebRootPath, "GeneratedQRCode/qrcode.png");
// Create a QR Code object
QrCode myQr = QrWriter.Write(generateQRCode.QRCodeText);
// Save QR Code as a Bitmap
AnyBitmap qrImage = myQr.Save();
// Save QR Code Bitmap as File
qrImage.SaveAs(filePath);
string fileName = Path.GetFileName(filePath); // qr code file
string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}" + "/GeneratedQRCode/" + fileName;
ViewBag.QrCodeUri = imageUrl;
}
catch (Exception)
{
throw;
}
return View();
}
}
}
Imports GenerateQRCode.Models
Imports IronQr
Imports IronSoftware.Drawing
Imports Microsoft.AspNetCore.Mvc
Namespace GenerateQRCode.Controllers
Public Class QrCodeController
Inherits Controller
Private ReadOnly _environment As IWebHostEnvironment
Public Sub New(ByVal environment As IWebHostEnvironment)
_environment = environment
End Sub
Public Function Index() As IActionResult
Return View()
End Function
<HttpPost>
Public Function CreateQRCode(ByVal generateQRCode As QRCodeModel) As IActionResult
Try
Dim path As String = System.IO.Path.Combine(_environment.WebRootPath, "GeneratedQRCode")
If Not Directory.Exists(path) Then
Directory.CreateDirectory(path)
End If
Dim filePath As String = System.IO.Path.Combine(_environment.WebRootPath, "GeneratedQRCode/qrcode.png")
' Create a QR Code object
Dim myQr As QrCode = QrWriter.Write(generateQRCode.QRCodeText)
' Save QR Code as a Bitmap
Dim qrImage As AnyBitmap = myQr.Save()
' Save QR Code Bitmap as File
qrImage.SaveAs(filePath)
Dim fileName As String = System.IO.Path.GetFileName(filePath) ' qr code file
Dim imageUrl As String = $"{Me.Request.Scheme}://{Me.Request.Host}{Me.Request.PathBase}" & "/GeneratedQRCode/" & fileName
ViewBag.QrCodeUri = imageUrl
Catch e1 As Exception
Throw
End Try
Return View()
End Function
End Class
End Namespace
該程式碼以使用語句開始,這些語句導入了必要的命名空間。GenerateQRCode.Controllers
命名空間包含 QrCodeController
類別。
QrCodeController
類別有一個構造函數,它接受一個 IWebHostEnvironment
參數。該參數由 ASP.NET Core 注入,用於處理與網站託管相關的任務。
Index():此方法返回一個視圖 (應該是一個 HTML 頁面) 當訪問時。這似乎與 QR 碼生成沒有直接關係。
CreateQRCode(QRCodeModel 生成QRCode)此方法是 QR 碼生成邏輯的核心。它接收一個
QRCodeModel` 對象 (包含 QR code 文本) 作為參數。
它構造了一個路徑來保存生成的 QR 代碼圖像。使用 QrWriter.Write
創建一個 QR 代碼對象。(產生QRCode.QRCodeText). 將 QR 碼保存為位圖圖像。根據 Web 請求詳細資訊構建圖像 URL。通過圖像 URL 設置
ViewBag.QrCodeUri` 屬性。如果在此過程中發生任何異常,將拋出異常。
實際的 QR Code 生成發生在 CreateQRCode
方法內。QrWriter.Write
(產生QRCode.QRCodeText)調用基於提供的文本創建一個 QR 碼對象。
生成的 QR 碼使用 qrImage.SaveAs
保存為位圖圖像(文件路徑)`. 圖片文件路徑是根據網頁根路徑和所需的文件名稱構建的。
imageUrl
是使用网页请求的方案、主机和路径基址构造的。此网址指向生成的 QR 码图像可访问的位置。总体而言,此控制器处理 QR 码生成、保存图像,并提供图像网址以便进一步使用。
要添加一個新的視圖,右鍵點擊 QrCodeController
類別中的 CreateQRCode
行為方法。
選擇「添加視圖」,然後選擇「Razor視圖」。點擊「添加」按鈕。
然後選擇上一次生成的 "Create" 範本和模型類別。
現在將以下代碼替換到視圖中
@model GenerateQRCode.Models.QRCodeModel
@{
ViewData["Title"] = "Generate QR Code";
}
<h1>Generate QR Code</h1>
<h4>QRCodeModel</h4>
<hr />
<div class="row">
<div class="col-md-4">
<form asp-action="CreateQRCode">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="QRCodeText" class="control-label"></label>
<span asp-validation-for="QRCodeText" class="text-danger"></span>
</div>
<div class="form-group">
</div>
<div class="form-group">
<img src="@ViewBag.QrCodeUri" class="img-thumbnail" />
</div>
</form>
</div>
</div>
<div>
<a asp-action="Index">Clear</a>
</div>
@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}
@model GenerateQRCode.Models.QRCodeModel
@{
ViewData["Title"] = "Generate QR Code";
}
<h1>Generate QR Code</h1>
<h4>QRCodeModel</h4>
<hr />
<div class="row">
<div class="col-md-4">
<form asp-action="CreateQRCode">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="QRCodeText" class="control-label"></label>
<span asp-validation-for="QRCodeText" class="text-danger"></span>
</div>
<div class="form-group">
</div>
<div class="form-group">
<img src="@ViewBag.QrCodeUri" class="img-thumbnail" />
</div>
</form>
</div>
</div>
<div>
<a asp-action="Index">Clear</a>
</div>
@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}
model ReadOnly Property () As GenerateQRCode.Models.QRCodeModel
ViewData("Title") = "Generate QR Code"
End Property
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <hr /> <div class="row"> <div class="col-md-4"> <form asp-action="CreateQRCode"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <div class="form-group"> <label asp-for="QRCodeText" class="control-label"></label> <span asp-validation-for="QRCodeText" class="text-danger"></span> </div> <div class="form-group"> </div> <div class="form-group"> <img src="@ViewBag.QrCodeUri" class="img-thumbnail" /> </div> </form> </div> </div> <div> <a asp-action="Index"> Clear</a> </div> @section Scripts
"img-thumbnail" /> </div> </form> </div> </div> (Of div) <a asp-action="Index"> Clear</a> </div> section Scripts
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCode"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <div class="form-group"> <label asp-for="QRCodeText" class="control-label"></label> <span asp-validation-for="QRCodeText" class="text-danger"></span> </div> <div class="form-group"> </div> <div class="form-group"> <img src="@ViewBag.QrCodeUri" class="img-thumbnail" /> </div> </form> </div> </div> <div> <a asp-action
"@ViewBag.QrCodeUri" class="img-thumbnail" /> </div> </form> </div> </div> (Of div) <a asp-action
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCode"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <div class="form-group"> <label asp-for="QRCodeText" class="control-label"></label> <span asp-validation-for="QRCodeText" class="text-danger"></span> </div> <div class="form-group"> </div> <div class="form-group"> <img src="@ViewBag.QrCodeUri" class
"form-group"> <img src="@ViewBag.QrCodeUri" class
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCode"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <div class="form-group"> <label asp-for="QRCodeText" class="control-label"></label> <span asp-validation-for="QRCodeText" class="text-danger"></span> </div> <div class="form-group"> </div> <div class="form-group"> <img src
"form-group"> </div> <div class="form-group"> <img src
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Private Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCode"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <div class="form-group"> <label asp-for="QRCodeText" class="control-label"></label> <span asp-validation-for="QRCodeText" class="text-danger"></span> </div> <div class="form-group"> </div> <div class
"text-danger"></span> </div> <div class="form-group"> </div> <div class
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Private Private Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCode"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <div class="form-group"> <label asp-for="QRCodeText" class="control-label"></label> <span asp-validation-for="QRCodeText" class="text-danger"></span> </div> <div class
"QRCodeText" class="text-danger"></span> </div> <div class
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Private Private Private Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCode"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <div class="form-group"> <label asp-for="QRCodeText" class="control-label"></label> <span asp-validation-for="QRCodeText" class
"control-label"></label> <span asp-validation-for="QRCodeText" class
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Private Private Private Private Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCode"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <div class="form-group"> <label asp-for="QRCodeText" class="control-label"></label> <span asp-validation-for
"QRCodeText" class="control-label"></label> <span asp-validation-for
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Private Private Private Private Private Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCode"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <div class="form-group"> <label asp-for="QRCodeText" class
"form-group"> <label asp-for="QRCodeText" class
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Private Private Private Private Private Private Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCode"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <div class="form-group"> <label asp-for
"text-danger"></div> <div class="form-group"> <label asp-for
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Private Private Private Private Private Private Private Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCode"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <div class
"ModelOnly" class="text-danger"></div> <div class
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Private Private Private Private Private Private Private Private Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCode"> <div asp-validation-summary="ModelOnly" class
"CreateQRCode"> <div asp-validation-summary="ModelOnly" class
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Private Private Private Private Private Private Private Private Private Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCode"> <div asp-validation-summary
"col-md-4"> <form asp-action="CreateQRCode"> <div asp-validation-summary
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Private Private Private Private Private Private Private Private Private Private Friend <h1> Generate QR Code</h1> <h4> QRCodeModel</h4> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action
"row"> <div class="col-md-4"> <form asp-action
'INSTANT VB WARNING: Instant VB cannot determine whether both operands of this division are integer types - if they are then you should use the VB integer division operator:
Private Private Private Private Private Private Private Private Private Private Private Private Private Private Friend (Of h1) Generate QR Code</h1> (Of h4) QRCodeModel</h4> <hr /> <div Class="row"> <div class
@
If True Then
Await Html.RenderPartialAsync("_ValidationScriptsPartial")
End If
End Class
同樣對索引操作方法進行相同處理,這樣當應用程式啟動時,它就不會因為 POST 請求而拋出錯誤。
現在在 program.cs 中更改以下程式碼,使上述視圖成為預設路由。
app.MapControllerRoute(
name: "default",
pattern: "{controller=QrCode}/{action=Index}"
);
app.MapControllerRoute(
name: "default",
pattern: "{controller=QrCode}/{action=Index}"
);
app.MapControllerRoute(name:= "default", pattern:= "{controller=QrCode}/{action=Index}")
此操作將把默認路由從 HomeController
修改為我們的 QrCode
控制器。
現在,編譯並運行項目。
在文本框中輸入任何文本,然後點擊「創建」。這將生成如下所示的新 QR 碼。
QrStyleOptions
用於設計 QR 碼生成。
[HttpPost]
public IActionResult CreateQRCode(QRCodeModel generateQRCode)
{
try
{
string path = Path.Combine(_environment.WebRootPath, "GeneratedQRCode");
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
string filePath = Path.Combine(_environment.WebRootPath, "GeneratedQRCode/qrcode.png");
// Create a QR Code obj
QrCode qrCode = QrWriter.Write(generateQRCode.QRCodeText);
QrStyleOptions style = new QrStyleOptions
{
Dimensions = 300, // px
Margins = 10, // px
Color = Color.YellowGreen
};
// Save QR Code as a any bitmap
AnyBitmap qrImage = qrCode.Save(style);
// Save QR Code Bitmap to File
qrImage.SaveAs(filePath);
string fileName = Path.GetFileName(filePath); // qr code file
string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}" + "/GeneratedQRCode/" + fileName;
ViewBag.QrCodeUri = imageUrl;
}
catch (Exception)
{
throw;
}
return View();
}
[HttpPost]
public IActionResult CreateQRCode(QRCodeModel generateQRCode)
{
try
{
string path = Path.Combine(_environment.WebRootPath, "GeneratedQRCode");
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
string filePath = Path.Combine(_environment.WebRootPath, "GeneratedQRCode/qrcode.png");
// Create a QR Code obj
QrCode qrCode = QrWriter.Write(generateQRCode.QRCodeText);
QrStyleOptions style = new QrStyleOptions
{
Dimensions = 300, // px
Margins = 10, // px
Color = Color.YellowGreen
};
// Save QR Code as a any bitmap
AnyBitmap qrImage = qrCode.Save(style);
// Save QR Code Bitmap to File
qrImage.SaveAs(filePath);
string fileName = Path.GetFileName(filePath); // qr code file
string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}" + "/GeneratedQRCode/" + fileName;
ViewBag.QrCodeUri = imageUrl;
}
catch (Exception)
{
throw;
}
return View();
}
<HttpPost>
Public Function CreateQRCode(ByVal generateQRCode As QRCodeModel) As IActionResult
Try
Dim path As String = System.IO.Path.Combine(_environment.WebRootPath, "GeneratedQRCode")
If Not Directory.Exists(path) Then
Directory.CreateDirectory(path)
End If
Dim filePath As String = System.IO.Path.Combine(_environment.WebRootPath, "GeneratedQRCode/qrcode.png")
' Create a QR Code obj
Dim qrCode As QrCode = QrWriter.Write(generateQRCode.QRCodeText)
Dim style As New QrStyleOptions With {
.Dimensions = 300,
.Margins = 10,
.Color = Color.YellowGreen
}
' Save QR Code as a any bitmap
Dim qrImage As AnyBitmap = qrCode.Save(style)
' Save QR Code Bitmap to File
qrImage.SaveAs(filePath)
Dim fileName As String = System.IO.Path.GetFileName(filePath) ' qr code file
Dim imageUrl As String = $"{Me.Request.Scheme}://{Me.Request.Host}{Me.Request.PathBase}" & "/GeneratedQRCode/" & fileName
ViewBag.QrCodeUri = imageUrl
Catch e1 As Exception
Throw
End Try
Return View()
End Function
對於想要測試 IronQR 的開發人員,可以取得試用授權。 這裡. 這個授權金鑰需要被放置在appSettings.json檔案中。這樣做將會移除上圖中的浮水印。這將會移除上圖中的浮水印。
{
"IronQR.License.LicenseKey" : "My key"
}
在這篇文章中,我們探討了如何在 ASP.NET Core 中使用 IronQR 生成 QR 碼。通過利用 IronQR 的強大功能,開發人員可以輕鬆地將 QR 碼生成功能集成到他們的網頁應用程序中。無論是用於票務、身份驗證還是信息共享,QR 碼都提供了一種高效傳輸數據的多功能解決方案。使用 IronQR,在 ASP.NET Core 中創建和定制 QR 碼從未如此簡單。在您的 ASP.NET Core 項目中開始集成 QR 碼生成功能,並開啟動態數據編碼和共享的新天地。