以前、同僚らは、Google の QR Code API が時々機能しないと報告していました。,関連情報をご確認の上、,この API を作成して C# を学習するというアイデアを思いつきました,時間をかけて探索してみました,私は本当にあなたからそれを理解しました。この API の機能は、URL に値を入力することです。,ブラウザで直接 QRCode 画像を生成できます,ASP.NET Coreを初めて書く場合は以下のようになります / C#初心者の視点で解説。
新しいプロジェクトを追加
「ファイル→追加→プロジェクト」,上のフィルター カテゴリで「C#」を選択します, Windowsの, 「WebAPI」,
選択 ASP.NET Core Web API。
プロジェクト名を入力してください。
ここでは「コントローラーを使用する」にチェックを入れました,プログラムをもう少し分類したほうがわかりやすいような気がします。。
「OpenAPI サポートを有効にする」のチェックが外れている,必要がないから。
QRCoderパッケージをインストールする
「プロジェクト→NuGetパッケージの管理」。
検索 “QRコーダー”,そしてインストール。
コントローラーの追加
で [コントローラー] ディレクトリを右クリックします,「参加→コントローラー」を選択します。。
「API」プロジェクトで「API コントローラー」を選択します – 空白"。
もう一度 API コントローラーを選択します – 空白"。
プログラムを書く
新しく追加したControllerにプログラムを書き込む:
// 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"); } } }
テスト結果
「デバッグ→デバッグ開始」を選択します。。
コントローラーの名前と値を入力して、アドレスバーの最後に QRCode を生成します,Enter を押して QRCode 画像を生成します。
その他のサプリメント
このプログラムは半年前に書かれました,いくつかの状況に遭遇し、次のパッケージを次々とインストールした印象があります。,参考までに:
ASP.NET Core の実行フェーズ 6.0.36
- x64 (開発側): aspnetcore-runtime-6.0.28-win-x64.exe
- ホスティングバンドル (IIS 端): dotnet-hosting-6.0.28-win.exe
「参考リンク」
[…] QRCode 產生器的 API 後,摸不著頭緒要怎麼把程式變成 IIS […]