Auparavant, des collègues avaient signalé que l’API QR Code de Google ne fonctionnait parfois pas.,Après avoir vérifié les informations pertinentes,J'ai eu l'idée d'apprendre le C# en écrivant cette API,J'ai passé du temps à explorer,Je l'ai vraiment sorti de toi。La fonction de cette API est de saisir une valeur dans l'URL,Vous pouvez générer des images QRCode directement dans le navigateur,Ce qui suit sera écrit pour la première fois en ASP.NET Core / Expliqué du point de vue d'un débutant en C#。
Ajouter un nouveau projet
"Fichier → Ajouter → Projet",Sélectionnez "C#" pour la catégorie de filtre ci-dessus, Sous Windows, WebAPI」,
sélectionner API Web ASP.NET Core。
Entrez un nom de projet。
Ici, j'ai coché "Utiliser le contrôleur",Je pense qu'il serait plus clair de classer un peu le programme.。
"Activer le support OpenAPI" n'est pas coché,Parce qu'il n'y a pas besoin。
Installer le package QRCoder
"Projet → Gérer les packages NuGet"。
Rechercher “QRCodeur”,et installer。
Ajouter un contrôleur
En [Contrôleurs] Faites un clic droit sur le répertoire,Sélectionnez "Rejoindre → Contrôleur"。
Sélectionnez "API Controller" dans le projet "API" – vide"。
Sélectionnez à nouveau le contrôleur API – vide"。
Écrire un programme
Écrivez un programme dans le contrôleur nouvellement ajouté:
// using Microsoft.AspNetCore.Http; // 系統產生,沒用到。 using Microsoft.AspNetCore.Mvc; using QRCoder; namespace QRCode.Controllers { [Route("[controller]")] // 指定路徑為 xxx.com/QRCodeGen, // 不指定時,會是 xxx.com/。 // [ApiController] // 系統產生,沒用到。 public class QRCodeGenController : ControllerBase { [HttpGet] [Route("{qrText}")] public IActionResult GetQrCode(string qrText) { byte[] image = PngByteQRCodeHelper.GetQRCode(qrText, QRCodeGenerator.ECCLevel.Q, 10); return File(image, "image/png"); } } }
Résultats des tests
Sélectionnez "Débogage → Démarrer le débogage"。
Entrez le nom du contrôleur et la valeur pour générer le QRCode à la fin de la barre d'adresse,Appuyez sur Entrée pour générer une image QRCode。
Autres suppléments
Ce programme a été écrit il y a six mois,J'ai l'impression d'avoir rencontré plusieurs situations et installé les packages suivants les uns après les autres.,pour référence:
Phase d'exécution d'ASP.NET Core 6.0.36
- x64 (Côté développement): aspnetcore-runtime-6.0.28-win-x64.exe
- Offre groupée d'hébergement (Bord IIS): dotnet-hosting-6.0.28-win.exe
"Lien de référence"
[…] QRCode 產生器的 API 後,摸不著頭緒要怎麼把程式變成 IIS […]