瑜珈 遵循 2019年5月23日 · 8分钟阅读< / div >< / div >< / div >< / div > 如何轻松实现QRCoder ASP。网络核心使用c# QRCoder ASP。网络核心Implementation QRCoder是一个非常受欢迎的二维码实现图书馆用c#编写的。它是可用的GitHub。在这里我要实现QRCoder库生成二维码在ASP。网络核心应用程序。我也会使用c#。 我将会以三种方式实现QRCoder,: 1。为任何文本创建二维码位图图像。 2。创建二维码(.qrr)对于任何一个文本文件,然后将这些文件保存在应用程序。 3所示。读取和显示所有的QR代码文件(.qrr)。 先安装QRCoderASP。网络核心框架。 你可以从我的GitHub Respositiory下载完整的代码。 安装 安装通过NuGet QRCoder包管理器。如果你想使用NuGet,搜索“QRCoder”或在NuGet包管理器控制台中运行以下命令: 点>安装包QRCoder QRCoder将安装在1分钟,可以使用了。 现在让我们开始实施QRCoder上述3方面。 为任何文本创建二维码位图图像 创建一个新的控制器称为“QRCoderController控制器内的文件夹。控制器将被创建,它将只有一个动作方法叫做“指数”: 公共IActionResult指数(){返回视图();} 进口以下名称空间在控制器: 使用系统;使用System.Collections.Generic;使用System.Drawing;使用先;使用Microsoft.AspNetCore.Mvc;使用QRCoder; 接下来,添加索引类型的行动(HttpPost)控制器: (HttpPost)公共IActionResult指数(字符串qrText){QRCodeGenerator qrGenerator = new QRCodeGenerator ();QRCodeData QRCodeData = qrGenerator.CreateQrCode (qrText,QRCodeGenerator.ECCLevel.Q);QRCode QRCode = new QRCode (qrCodeData);位图qrCodeImage = qrCode.GetGraphic (20);返回视图(BitmapToBytes (qrCodeImage));} 这个索引操作接受一个字符串参数称为“qrText”。它包含的文本提供了一个输入控件视图中定义。本文将转换为二维码位图图像。下面的代码行做这项工作: QRCodeGenerator qrGenerator = new QRCodeGenerator ();QRCodeData QRCodeData = qrGenerator.CreateQrCode (qrText,QRCodeGenerator.ECCLevel.Q);QRCode QRCode = new QRCode (qrCodeData);位图qrCodeImage = qrCode.GetGraphic (20); QRCode对象(的qrCode”)调用一个静态函数定义的名为“BitmapToBytes ()”。这个函数的作用是将位图图像的Byte []”。 将这个函数添加到您的控制器: 私有静态Byte [] BitmapToBytes(位图img){使用(MemoryStream流= new MemoryStream ()){img。保存(流,System.Drawing.Imaging.ImageFormat.Png);返回stream.ToArray ();}} 最后创建的索引视图内的视图/ QRCoder的文件夹下面的代码: @ model Byte []@ {布局=零;}< !DOCTYPE html >< html ><头>< meta name = " viewport " content = " width =设备宽度" / > <标题>实施QRCoder ASP。网络核心——创建二维码< /名称><时尚>身体{背景:# 111没有重演;背景图片:-webkit-gradient(径向,50% 0 150 0 50%,300年,从(# 444),(# 111));}h1, h2, h3 {text-align:中心;颜色:# FFF;保证金:5 px 0;}h1 {字体大小:30 px;}h2的{字体大小:25 px;颜色:# 0184年e3;文字修饰:没有;}h3 {字体大小:23 px;边界底部:固体3 px # CCC;padding-bottom: 10 px;}h3的{颜色:# 00 e8ff;文字修饰:没有;}h3,盘旋,h2:{徘徊文字修饰:下划线;}.container {宽度:800 px;保证金:汽车;颜色:# FFF;字体大小:25 px;}.container #{内容边界:冲2 px # CCC;填充:10 px;}#{重置填充:5 px 10 px;背景:# 4 caf50;边界:没有;颜色:# FFF;光标:指针;}#重置:{徘徊颜色:# 4 caf50;背景:# FFF;}# {viewContent表宽度:100%;}# viewContent表tr {身高:80 px;背景:darkcyan;}# viewContent表tr td {宽度:50%;padding-left: 5 px;}> < /风格< / >头<身体>< div class = "容器" >< div id = "内容" ><标题>实施QRCoder ASP。网络核心——创建二维码< / h1 >< h2 >< a href = " http://www.yogihosting.com/category/aspnet-core/ " >阅读教程YogiHosting»< / >< id =“重置”按钮onclick = "位置= " " >重置»> < /按钮< / h2 >< div id = " viewContent " >@using (Html。BeginForm(空,空,FormMethod.Post)){<表>tbody > << tr >< td ><标记>创建二维码< /输入文本标签< / td >< td >< input type = " text " name = " qrText " / >< / td >< / tr >< tr >< td colspan = " 2 " >> <按钮> < /提交按钮< / td >< / tr >tbody > < /< /表>}< / div >@ {如果(模型! = null){< h3 >成功二维码生成< / h3 >< img src = " @String.Format(“数据:图像/ png; base64, {0}”, Convert.ToBase64String(模型))”/>}}< / div >< / div >< /身体>< / html > 索引视图有一个的输入的控制。用户输入文本到该控件创建QR代码: < input type = " text " name = " qrText " / > 一旦二维码生成的索引操作方法,其“字节的数组返回到视图模型,然后下面的显示位图图像的代码: @ {如果(模型! = null){< h3 >成功二维码生成< / h3 >< img src = " @String.Format(“数据:图像/ png; base64, {0}”, Convert.ToBase64String(模型))”/>}} 测试代码 运行您的应用程序和去URL - 'http://localhost: 50755 / QRCoder“调用索引操作方法。 在文本框中,添加你的文本并单击submit按钮创建二维码位图图像。 看到这张图片说明了它的工作: 创建QRCode位图图像 创建二维码(.qrr)对于任何一个文本文件,然后将这些文件保存在应用程序 你也可以生成二维码为一个文本文件并将其保存在你的网站。这些文件。qrr扩展。 控制器添加以下操作方法称为“GenerateFile”: 公共IActionResult GenerateFile (){返回视图();}(HttpPost)公共IActionResult GenerateFile(字符串qrText){QRCodeGenerator qrGenerator = new QRCodeGenerator ();QRCodeData QRCodeData = qrGenerator.CreateQrCode (qrText,QRCodeGenerator.ECCLevel.Q);.ToString字符串fileGuid = Guid.NewGuid () ()。Substring (0, 4);qrCodeData。SaveRawData (“wwwroot / qrr /文件——“+ fileGuid +”。qrr”, QRCodeData.Compression.Uncompressed);QRCodeData qrCodeData1 = new QRCodeData (“wwwroot / qrr /文件——“+ fileGuid +”。qrr”, QRCodeData.Compression.Uncompressed);QRCode QRCode = new QRCode (qrCodeData1);位图qrCodeImage = qrCode.GetGraphic (20);返回视图(BitmapToBytes (qrCodeImage));} 的(HttpPost)版本的操作方法生成二维码内文件的wwwroot / qrr”文件夹中。这个工作的代码如下: QRCodeGenerator qrGenerator = new QRCodeGenerator ();QRCodeData QRCodeData = qrGenerator.CreateQrCode (qrText,QRCodeGenerator.ECCLevel.Q);.ToString字符串fileGuid = Guid.NewGuid () ()。Substring (0, 4);qrCodeData。SaveRawData (“wwwroot / qrr /文件——“+ fileGuid +”。qrr”, QRCodeData.Compression.Uncompressed); 一旦创建.qrr文件然后我只是阅读网站的保存位置。然后我将它转换为位图类型,最后将图像的字节发送给视图。对应的代码是: QRCodeData qrCodeData1 = new QRCodeData (“wwwroot / qrr /文件——“+ fileGuid +”。qrr”, QRCodeData.Compression.Uncompressed);QRCode QRCode = new QRCode (qrCodeData1);位图qrCodeImage = qrCode.GetGraphic (20);返回视图(BitmapToBytes (qrCodeImage)); 接下来,添加GenerateFile视图里面的视图/ QRCoder的文件夹,添加下面的代码: @ model Byte []@ {布局=零;}< !DOCTYPE html >< html ><头>< meta name = " viewport " content = " width =设备宽度" / ><标题>实施QRCoder ASP。网络核心- Create QR Code File <时尚>身体{背景:# 111没有重演;背景图片:-webkit-gradient(径向,50% 0 150 0 50%,300年,从(# 444),(# 111));}h1, h2, h3 {text-align:中心;颜色:# FFF;保证金:5 px 0;}h1 {字体大小:30 px;}h2的{字体大小:25 px;颜色:# 0184年e3;文字修饰:没有;}h3 {字体大小:23 px;边界底部:固体3 px # CCC;padding-bottom: 10 px;}h3的{颜色:# 00 e8ff;文字修饰:没有;}h3,盘旋,h2:{徘徊文字修饰:下划线;}.container {宽度:800 px;保证金:汽车;颜色:# FFF;字体大小:25 px;}.container #{内容边界:冲2 px # CCC;填充:10 px;}#{重置填充:5 px 10 px;背景:# 4 caf50;边界:没有;颜色:# FFF;光标:指针;}#重置:{徘徊颜色:# 4 caf50;背景:# FFF;}# {viewContent表宽度:100%;}# viewContent表tr {身高:80 px;背景:darkcyan;}# viewContent表tr td {宽度:50%;padding-left: 5 px;}> < /风格< / >头<身体>< div class = "容器" >< div id = "内容" ><标题>实施QRCoder ASP。网络核心- Create QR Code File< h2 >< a href = " http://www.yogihosting.com/category/aspnet-core/ " >阅读教程YogiHosting»< / >< id =“重置”按钮onclick = "位置= " " >重置»> < /按钮< / h2 >< div id = " viewContent " >@using (Html。BeginForm(空,空,FormMethod.Post)){<表>tbody > << tr >< td ><标记> < / >标签创建QR输入文本文件< / td >< td >< input type = " text " name = " qrText " / >< / td >< / tr >< tr >< td colspan = " 2 " >> <按钮> < /提交按钮< / td >< / tr >tbody > < /< /表>}< / div >@ {如果(模型! = null){< h3 >成功生成二维码文件< / h3 >< img src = " @String.Format(“数据:图像/ png; base64, {0}”, Convert.ToBase64String(模型))”/>}}< / div >< / div >< /身体>< / html > 这个视图的代码是完全类似于“指数”的观点和工作完全一样。 URL调用这一观点是“http://localhost: 50755 / QRCoder / GenerateFile”。 读取和显示所有的QR代码文件(.qrr) 你也可以阅读所有.qrr文件保存在网站。去你的控制器和添加一个新的行动称为“ViewFile”: 公共IActionResult ViewFile (){列表< KeyValuePair <字符串,Byte [] > > fileData =新列表< KeyValuePair <字符串,Byte [] > > ();KeyValuePair <字符串,Byte[] >数据;string [] = Directory.GetFiles文件(“wwwroot / qrr”);foreach(字符串文件文件){QRCodeData QRCodeData = new QRCodeData(文件,QRCodeData.Compression.Uncompressed);QRCode QRCode = new QRCode (qrCodeData);位图qrCodeImage = qrCode.GetGraphic (20);Byte [] byteData = BitmapToBytes (qrCodeImage);数据= new KeyValuePair <字符串,Byte [] > (Path.GetFileName(文件),byteData);fileData.Add(数据);}返回视图(fileData);} 在这种操作方法,我读了位于“qrr”文件夹中使用代码: Directory.GetFiles (“wwwroot / qrr”) 然后我添加在每个qrr文件的字节数和名字列表< KeyValuePair <字符串,Byte [] > >对象。 最后这个对象返回到视图: 返回视图(fileData); 最后创建的ViewFile“内视图”视图/ QRCoder的文件夹下面的代码: @ model列表< KeyValuePair <字符串,Byte [] > >@ {布局=零;}< !DOCTYPE html >< html ><头>< meta name = " viewport " content = " width =设备宽度" / ><标题>实施QRCoder ASP。网络核心- View QR Code Files <时尚>身体{背景:# 111没有重演;背景图片:-webkit-gradient(径向,50% 0 150 0 50%,300年,从(# 444),(# 111));}h1, h2, h3 {text-align:中心;颜色:# FFF;保证金:5 px 0;}h1 {字体大小:30 px;}h2的{字体大小:25 px;颜色:# 0184年e3;文字修饰:没有;}h3 {字体大小:23 px;边界底部:固体3 px # CCC;padding-bottom: 10 px;}h3的{颜色:# 00 e8ff;文字修饰:没有;}h3,盘旋,h2:{徘徊文字修饰:下划线;}.container {宽度:800 px;保证金:汽车;颜色:# FFF;字体大小:25 px;}.container #{内容边界:冲2 px # CCC;填充:10 px;}#{重置填充:5 px 10 px;背景:# 4 caf50;边界:没有;颜色:# FFF;光标:指针;}#重置:{徘徊颜色:# 4 caf50;背景:# FFF;}# {viewContent表宽度:100%;}# viewContent表tr {身高:80 px;背景:darkcyan;}# viewContent表tr td {宽度:50%;padding-left: 5 px;}# viewContent表tr td img {宽度:150 px;}# viewContent表tr td跨度{显示:块;}> < /风格< / >头<身体>< div class = "容器" >< div id = "内容" ><标题>实施QRCoder ASP。网络核心- View QR Code Files< h2 >< a href = " http://www.yogihosting.com/category/aspnet-core/ " >阅读教程YogiHosting»< / >< id =“重置”按钮onclick = "位置= " " >重置»> < /按钮< / h2 >< div id = " viewContent " ><表>tbody > <@foreach (KeyValuePair <字符串,Byte [] > k模型){< tr >< td >< img src = " @String.Format(“数据:图像/ png; base64, {0}”, Convert.ToBase64String (k.Value))”/>< span > @k.Key < / span >< / td >< / tr >}tbody > < /< /表>< / div >< / div >< / div >< /身体>< / html > 这个视图显示所有qrr文件作为位图图像内的HTML表。下面的代码创建的HTML表: <表>tbody > <@foreach (KeyValuePair <字符串,Byte [] > k模型){< tr >< td >< img src = " @String.Format(“数据:图像/ png; base64, {0}”, Convert.ToBase64String (k.Value))”/>< span > @k.Key < / span >< / td >< / tr >}tbody > < /< /表> 测试代码 运行您的应用程序和去URL - 'http://localhost: 50755 / QRCoder / ViewFile”ViewFile动作方法调用。您将看到所有.qrr文件保存在你的网站。 看到下面的图片说明了它的工作: 查看所有QRR文件 你可以从我的GitHub Respositiory下载完整的代码。 结论 我希望你喜欢这个存储库将帮助你使用QRCoder ASP。网的核心项目。确保你喜欢这个存储库来表达你的爱。 如果你需要任何帮助在ASP。网络核心then let me know in the below comments section. 我每周发布2 web开发的文章。考虑后我得到电子邮件通知每当我发布一个新的教程中。betway娱乐官网如果这篇文章是有帮助,请点击拍几次按钮来显示你的支持!它将带来一个微笑在我的脸上和激发我写更多的读者喜欢你。 我还发表了另一个freeCodeCamp教程,如果你想看到它,如何创建一个登录和引导模态和jQuery AJAX功能吗 感谢和快乐编码! 从我们搬到了freeCodeCamp.org/news 我们已经搬到https://freecodecamp.org/news,每周发布大量的教程。看到你在那里。 阅读更多的< !- - -- - ->我们已经搬到freeCodeCamp.org/news 建议从媒介betway娱乐官网< / h2 >< / div > 本·霍斯金表示:“Hosk” 如何在动态诊断插件错误365< / div >< / h2 > 机器人的海报 在 botpost 得到它的创造者< / div >< / h2 > 电子的溢价 更多关于SQL语言,使用SQL Server和地对地导弹< / div >< / h2 > 舰队工作室 你复制+粘贴代码从堆栈溢出?别担心,你并不孤单!< / div >< / h2 > 沙。Iktakhairul伊斯兰教 Laravel子域名,主机< / div >< / h2 > 奥利弗Jumpertz 原则(OCP)< / div >< / h2 > DSA与TheAbbie 下一个排列< / div >< / h2 > 帕特里克Seamars 在 SBVRSV行业 敏捷的:工作软件和响应变化< / div >< / h2 > 关于帮助条款隐私 得到了媒介的应用betway娱乐官网< / h2 > 开始 瑜珈< / h2 > 428的粉丝 ASP。网络核心全堆栈开发者——经常发布web开发教程和文章。我酷爱在基本层面上理解事情。 遵循 帮助 状态 作家 博客 职业生涯 隐私 条款 关于 可知