C#MVC用ZXing.Net生成二維碼/條形碼

 開篇:zxing.net是.net平臺下編解條形碼和二維碼的工具。html

 

首先建立新項目jquery

 

 

 

 

MVC模板ajax

 

 

 

 

 添加一個控制器app

 

 在項目引用中的引用ZXing工具

 

 

 

 

進行聯網下載post

 

 

控制器須要引用編碼

 

 

 

 

後臺控制器url

 

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";
        }

 

前臺視圖spa

 

@{
    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,右擊運行.net

 

總結:若有不足,請各位提出。

相關文章
相關標籤/搜索