zoukankan      html  css  js  c++  java
  • 二维码生成

    关于二维码生成最近写了一个小Demo如下:

     控制器

     1 [HttpGet]
     2         public ActionResult CreateQRcode()
     3         {
     4             return View();
     5         }
     6 
     7         [HttpPost]
     8         public ActionResult CreateQRcode(string content)
     9         {
    10             string currentPath = Server.MapPath("~/.") + @"/ContentOwnBarCode_Images";//二维码图片存放的路径
    11             Bitmap bs = QrCodeHelper.Create_ImgCode(content, 8);//创建二维码图片
    12             string imgUrl = QrCodeHelper.SaveImg(currentPath, bs);//保存图片
    13             ViewBag.ImgUrl = @"/Content/Own/BarCode_Images" + @"/" + imgUrl;//将路径返回到前台引用
    14             return View();
    15         }

    视图

     1    @* action 指定 控制器和视图*@
     2         <form id="form1" action="/Default1/CreateQRcode" method="post">
     3             <div>
     4                 请输入内容:<input type="text" name="content"  />
     5                 <br />
     6                 <input id="Button1" value="生成二维码" type="submit" />
     7             </div>
     8             <div>
     9                 @if (ViewBag.ImgUrl != null)
    10                 {
    11                     <img src="@ViewBag.ImgUrl" />
    12                 }
    13             </div>
    14             </form>

    生成二维码的类文件

      1  /// <summary>
      2     /// 二维码生成
      3     /// </summary>
      4     public class QrCodeHelper
      5     {
      6         #region 保存图片
      7         /// <summary>
      8         /// 保存图片
      9         /// </summary>
     10         /// <param name="strPath">保存路径</param>
     11         /// <param name="img">图片</param>
     12         /// <returns>图片路径</returns>
     13         public static string SaveImg(string strPath, Bitmap img)
     14         {
     15             //保存图片到目录
     16             if (Directory.Exists(strPath))
     17             {
     18                 //文件名称
     19                 string guid = Guid.NewGuid().ToString().Replace("-", "") + ".png";
     20                 img.Save(strPath + "/" + guid, System.Drawing.Imaging.ImageFormat.Png);
     21                 return (guid);
     22             }
     23             else
     24             {
     25                 //当前目录不存在,则创建
     26                 Directory.CreateDirectory(strPath);
     27                 return "";
     28             }
     29         }
     30         #endregion
     31 
     32         #region 生成二维码图片
     33         /// <summary>
     34         /// 生成二维码图片
     35         /// </summary>
     36         /// <param name="codeNumber">要生成二维码的字符串</param>     
     37         /// <param name="size">大小尺寸</param>
     38         /// <returns>二维码图片</returns>
     39         public static Bitmap Create_ImgCode(string codeNumber, int size)
     40         {
     41             //创建二维码生成类
     42             QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
     43             //设置编码模式
     44             qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
     45             //设置编码测量度
     46             qrCodeEncoder.QRCodeScale = size;
     47             //设置编码版本
     48             qrCodeEncoder.QRCodeVersion = 0;
     49             //设置编码错误纠正
     50             qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
     51             //生成二维码图片
     52             System.Drawing.Bitmap image = qrCodeEncoder.Encode(codeNumber);
     53             return image;
     54         }
     55         #endregion
     56 
     57         #region 打开指定目录
     58         /// <summary>
     59         /// 打开指定目录
     60         /// </summary>
     61         /// <param name="path"></param>
     62         public static void Open_File(string path)
     63         {
     64             System.Diagnostics.Process.Start("explorer.exe", path);
     65         }
     66         #endregion
     67 
     68         #region 删除目录下所有文件
     69         /// <summary>
     70         /// 删除目录下所有文件
     71         /// </summary>
     72         /// <param name="aimPath">路径</param>
     73         public static void DeleteDir(string aimPath)
     74         {
     75             try
     76             {
     77                 //目录是否存在
     78                 if (Directory.Exists(aimPath))
     79                 {
     80                     // 检查目标目录是否以目录分割字符结束如果不是则添加之
     81                     if (aimPath[aimPath.Length - 1] != Path.DirectorySeparatorChar)
     82                         aimPath += Path.DirectorySeparatorChar;
     83                     // 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
     84                     // 如果你指向Delete目标文件下面的文件而不包含目录请使用下面的方法
     85                     string[] fileList = Directory.GetFiles(aimPath);
     86                     //string[] fileList = Directory.GetFileSystemEntries(aimPath);
     87                     // 遍历所有的文件和目录
     88                     foreach (string file in fileList)
     89                     {
     90                         // 先当作目录处理如果存在这个目录就递归Delete该目录下面的文件
     91                         if (Directory.Exists(file))
     92                         {
     93                             DeleteDir(aimPath + Path.GetFileName(file));
     94                         }
     95                         // 否则直接Delete文件
     96                         else
     97                         {
     98                             File.Delete(aimPath + Path.GetFileName(file));
     99                         }
    100                     }
    101                 }
    102             }
    103             catch (Exception e)
    104             {
    105                 throw e;
    106             }
    107         }
    108         #endregion
    109     }
    QrCodeHelper.cs

    关于二维码的生成就到这里了。

  • 相关阅读:
    EntityFramework_MVC4中EF5 新手入门教程之五 ---5.通过 Entity Framework 读取相关数据
    EntityFramework_MVC4中EF5 新手入门教程之四 ---4.在EF中创建更复杂的数据模型
    EntityFramework_MVC4中EF5 新手入门教程之三 ---3.排序、 筛选和分页
    EntityFramework_MVC4中EF5 新手入门教程之二 ---2.执行基本的 CRUD 功能
    EntityFramework_MVC4中EF5 新手入门教程之一 ---1.创建实体框架数据模型
    ASP.NET MVC4 新手入门教程之九 ---9.查询详情和删除方法
    ASP.NET MVC4 新手入门教程之八 ---8.向模式中添加验证
    ASP.NET MVC4 新手入门教程特别篇之一----Code First Migrations更新数据库结构(数据迁移)修改Entity FrameWork 数据结构(不删除数据)
    ASP.NET MVC4 新手入门教程之七 ---7.向电影模式和表中添加新字段
    ASP.NET MVC4 新手入门教程之六 ---6.编辑视图与编辑方法
  • 原文地址:https://www.cnblogs.com/xuan666/p/10740027.html
Copyright © 2011-2022 走看看