zoukankan      html  css  js  c++  java
  • .Net MVC生成二维码并前端展示

    简介:

    二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。

    步骤说明:

    第一步要做的就是添加对 ThoughtWorks.QRCode 的引用。添加引用步骤:右键引用——》管理 NuGet 程序包——》浏览中搜索 QRCode ——》安装 ThoughtWorks.QRCode 程序包

    下文为Controller控制器的后端代码,输入所需展示的内容并返回一个base64的字符串用于前端内容展示...

     1 [HttpPost]
     2         /// <summary> 
     3         /// 生成二维码 
     4         /// </summary> 
     5         /// <param name="qrCodeContent">要编码的内容</param> 
     6         /// <returns>返回二维码base64用于前端展示</returns> 
     7         public string QRCodeEncoderUtil(string qrCodeContent)
     8         {
     9             QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
    10             qrCodeEncoder.QRCodeScale = 5;
    11             qrCodeEncoder.QRCodeVersion = 0;
    12             Bitmap img = qrCodeEncoder.Encode(qrCodeContent, Encoding.UTF8);//指定utf-8编码, 支持中文 
    13             string strbaser64 = "";
    14             try
    15             {
    16                 using (MemoryStream ms = new MemoryStream())
    17                 {
    18                     img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
    19                     byte[] arr = new byte[ms.Length];
    20                     ms.Position = 0;
    21                     ms.Read(arr, 0, (int)ms.Length);
    22                     ms.Close();
    23                     strbaser64 = Convert.ToBase64String(arr);
    24                 }
    25                 return strbaser64;
    26             }
    27             catch (Exception)
    28             {
    29                 throw new Exception("Something wrong during convert!");
    30             }
    31         }
    Controller内容

    下文为Web视图的前端代码,因只是一个功能示例,未对样式进行调整...

     1 <script src="~/Scripts/jquery-1.10.2.min.js"></script>
     2 
     3 <div>
     4     <div><span>生成内容:</span><input placeholder="请输入需要生成的文字描述..." id="EwmText" /></div>
     5     <button onclick="GetErWeiMa()">
     6         生成二维码
     7     </button>
     8     <img id="ErWeiMaImg" style="120px;height:120px">
     9 </div>
    10 
    11 <script>
    12     function GetErWeiMa() {
    13         $.post("/Index/QRCodeEncoderUtil?qrCodeContent=" + encodeURIComponent($("#EwmText").val()), function (data) {
    14             if (data != "") {
    15                 $("#ErWeiMaImg").attr("src", "data:image/jgp;base64," + data)
    16             }
    17             else {
    18                 alert("生成失败");
    19             }
    20         })
    21     }
    22 </script>
    View代码

    如果您已经按照要求完成代码,则会出现下图效果,输入所需生成内容,前端会展示对应的二维码。注意input输入的内容需要encodeURIComponent,否则会截断特殊字符...

  • 相关阅读:
    win 7 iis 的一些问题
    Google Maps JavaScript API V3 根据地址 加载地图
    ASP.NET 在程序中动态删除、修改配置文件节点值的方法
    Lambda 表达式的深化及使用
    NHibernate配置的总体流程
    Adobe Acrobat Automation和Aspose.Pdf添加文本印章和水印的对比
    如何导入Swagger文件到Eolinker
    接口文档规范
    对外接口安全性需要考虑什么?
    如何降低API文档对接成本
  • 原文地址:https://www.cnblogs.com/ITCodeMonkey/p/11549760.html
Copyright © 2011-2022 走看看