http://localhost:7071/api/qrcodegen 发送 GET 或 POST 。让我们在浏览器中加载它 , 看看一个简单的 GET 返回什么:
文章插图
我们有一条信息显示:
This HTTP triggered function was executed successfully. Pass a name in the query string or in the request body for a personalized response.
好的 , 让我们深入研究一下代码 , 看看这条信息是什么意思 。C#
string responseMessage = string.IsNullOrEmpty(name)br? "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response."br: $"Hello, {name}. This HTTP triggered function executed successfully.";
正如您在上面的代码中看到的 , 它正在检查名称中的值 。如果该变量为空或 null , 它将显示我们刚才看到的消息 。但我们如何填充这个值呢?几行之后 , 我们在查询中看到一个可以使用的参数:
C#
string name = req.Query["name"];
如果它被填充 , 它将显示一条包含名称的消息 。我们需要向它发送一个 URL , 名称作为一个参数 , 如下所示:
http://localhost:7071/api/QRCodeGen?name=Jeremy
让我们试试这个:文章插图
这是我的留言 。现在我们知道函数正在按预期工作 。我们加载一个 URL , 获取参数并修改输出 。
为了简单起见 , 我们将把这个模型用于我们的二维码生成器 。我们将建立监听请求的 URL , 并在 GET 命令中传递该值 , 然后返回一个二维码 。让我们从生成二维码开始 。
安装 QRCode 生成工具将文本转换成二维码是相对复杂的 。幸运的是 , 你在吸毒 。NET.你不必手工制造发电机 。这个问题很久以前就解决了 。我们将使用库生成一个 。我们的 PNG 二维码 。我们只需要围绕它编写一些代码 , 并构建一个工具来解决我们的问题 。
首先 , 让我们从 Manuel BL 安装 QRCode Generator 包 。我们会使用网络驱动程序 。我将在撰写本文时指定最新版本 。
Shell
dotnet add package Net.Codecrete.QrCodeGenerator --version 2.0.1
QRCode 生成器工作得很好 , 但只能生成 。Svgs.因为我们想要一个 。PNG (位图)格式 , 并希望它在多种环境下工作 , 我们需要安装 SkiaSharp 软件包:
Shell
dotnet add package SkiaSharp
SkiaSharp 包含了生成位图的功能 , 但是你必须下载并将这个文件添加到你的项目中:
https://github.com/manuelbl/QrCodeGenerator/blob/master/Demo-SkiaSharp/QrCodeBitmapExtensions.cs
在项目文件夹中创建一个名为 qrcodebitmapextensions.cs 的文件 , 并将该文件的内容复制到该文件中 。这将允许您使用位图 , 特别是 。PNG 文件 。
现在我们有了 QR 码生成工具 , 让它在函数中工作吧 。
创建 QR 码生成器函数如果你打开 QRCodeGen.cs , 你会看到为我们生成的 Azure 函数(一个方法) , 它看起来像这样:
C#
[FunctionName("QRCodeGen")]brpublic static async Task<IActionResult> Run(br[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,brILogger log)br{brlog.LogInformation("C# HTTP trigger function processed a request.");brbrstring name = req.Query["name"];brbrstring requestBody = await new StreamReader(req.Body).ReadToEndAsync();brdynamic data = https://www.isolves.com/it/qt/2022-06-23/JsonConvert.DeserializeObject(requestBody);brname = name ?? data?.name;brbrstring responseMessage = string.IsNullOrEmpty(name)br? "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response."br: $"Hello, {name}. This HTTP triggered function executed successfully.";brbrreturn new OkObjectResult(responseMessage);br}
让我们删除这个方法:
C#
namespace QRCodeGenbr{brpublic static class QRCodeGenbr{brbr}br}
接下来 , 让我们添加一个生成 QR 码的新方法 。
首先 , 添加名称装饰器 。这将为方法提供一个名称并更改 URL 以访问它 。
C# C #
[FunctionName("GenerateQRCode")]
现在 , 当我们运行我们的应用程序 , 网址将是:
推荐阅读
- 架构师必备:MySQL主从同步原理和应用
- 电脑主板能不能用水洗呢?
- Active Directory用户登录报告
- 家用打印机如何选择最经济适用
- 按摩|身体乳怎么用才正确 十大好用的身体乳排名
- 工业机油用什么能洗掉 衣服上的机油用什么可以洗下来
- 金参润喉合剂有什么副作用呢?
- 四物合剂有什么作用和功效?
- 丹桃合剂有什么功效和作用?
- 归脾合剂有什么作用呢?