欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-13 17:35:24
开篇:zxing.net是.net平台下编解条形码和二维码的工具。 首先创建新项目 选择MVC模板 添加一个控制器 在项目引用中的引用ZXing 进行联网下载 控制器需要引用 后台控制器 public string TiaoXing(string name) { //设置条形码规格 Encoding ......

 开篇: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,右击运行

 

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