C#MVC用ZXing.Net生成二维码/条形码

 开篇:zxing.net是.net平台下编解条形码和二维码的工具。

首先创建新项目

 

 C#MVC用ZXing.Net生成二维码/条形码

 

 

 

择MVC模板

 

 C#MVC用ZXing.Net生成二维码/条形码

 

 

 添加一个控制器

 

 

 在项目引用中的引用ZXing

 

 C#MVC用ZXing.Net生成二维码/条形码

 

 

进行联网下载

C#MVC用ZXing.Net生成二维码/条形码

 

 

控制器需要引用

 

 

 C#MVC用ZXing.Net生成二维码/条形码

 

 

后台控制器

 

public string TiaoXing(string name)
        {
            //设置条形码规格
            EncodingOptions encoding = new EncodingOptions();
            encoding.Height = 120;//设置宽高
            encoding.Width = 200;
            //生成条形码的图片并保存
            BarcodeWriter wr = new BarcodeWriter();
            wr.Options = encoding;//进行指定规格
            wr.Format = BarcodeFormat.EAN_13;//条形码的规格 EAN13规格
            Bitmap img = wr.Write(name);//生成图片
            string filepath = Server.MapPath("/image/");//获取文件夹的绝对路径
         string qq=   DateTime.Now.ToString("yyyyMMddHHmmss");//获取当前时间的字符串格式
            img.Save(filepath+qq+".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);//进行图片保存
            return "/image/"+qq+".jpg";//返回生成一维码图片的路径
        }
        public string ErWei(string name)
        {
            //1先设置二维码的规格
            QrCodeEncodingOptions qr = new QrCodeEncodingOptions();
            qr.CharacterSet = "UTF-8";//设置编码格式,否则会乱码
            qr.Height = 200;
            qr.Width = 200;
            qr.Margin = 1;//设置二维码图片周围空白边距
            //2生成条形码图片保存
            BarcodeWriter wr = new BarcodeWriter();
            wr.Format = BarcodeFormat.QR_CODE;//二维码
            wr.Options = qr;//指定格式
            Bitmap bitmap = wr.Write(name);//存放二维码
            //设置图片的路径
            //进行保存
            string filepath = Server.MapPath("/image/");
            string qq = DateTime.Now.ToString("yyyyMMddHHmmss");
            bitmap.Save(filepath+qq+".jpg",ImageFormat.Jpeg);
            return "/image/" + qq + ".jpg";
        }

 

前台视图

 

@{
    Layout = null;
}
<script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
<script src="~/Scripts/jquery-3.3.1.js"></script>
<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
</head>
<body>
    <div id="img1">
        @*实现图片的盒子*@

    </div>
    <p>
        显示文本<input type="text" id="text1" name="name1" value="" /> @*文本框*@
        <input type="button" onclick="yyy()" name="name11" value="一维码生成" />@*一维码生成按钮*@
        <input type="button" onclick="eee()" name="name12" value="二维码生成" />@*二维码生成按钮*@
    </p>
    <script>
        function yyy() {
            var name1 = $("#text1").val();//获取文本框的值
            $.ajax({//进行Ajax 提交到控制器 (下面有控制器方法的图片)
                url: '/Default/TiaoXing?name=' + name1,//路径传参
                type: 'post',
                success: function (rese) {//收到返回的一维码图片地址
                    $("#imge1").remove();//清空盒子中图片
                    $("#img1").append("<img id='images' src=" + rese + " />");//在盒子中最加二维码图片显示
                }
            })

        }
        function eee() {
            var name2 = $("#text1").val();
            $.ajax({
                url: '/Default/ErWei?name=' + name2,
                type: 'post',

                success: function (rese) {
                    $("#imge1").remove();
                    $("#img1").append("<img id='images' src=" + rese + " />");
                }
            })
        }
    </script>
</body>
</html>

OK,右击运行

 

总结:如有不足,请各位提出。

上一篇:N种方法解决


下一篇:.NET Core(C#)使用ZXing.Net生成条码(Barcode)和二维码(QR code)图片及示例代码