亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

ASP.NET實現二維碼(QRCode)的創建和讀取

2019-11-17 01:54:31
字體:
來源:轉載
供稿:網友

asp.net實現二維碼(QRCode)的創建和讀取

一、項目引用QRCode的DLL文件(ThoughtWorks.QRCode.dll)二、ASPX頁面(兩個jquery的js文件請自行去官網下載):[html]<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>二維碼工具測試</title> <script type="text/javascript" src="../../Scripts/Jquery/jquery-1.6.2.js"></script> <script type="text/Javascript" src="../../Scripts/Jquery/jquery.form.js"></script> <script type="text/javascript" src="js/test.js"></script> <style type="text/CSS"> .style1 { width: 100%; } #txt_qr { width: 632px; } </style> </head> <body> <div> <table class="style1"> <tr> <td> 輸入文字: </td> <td> <input type="text" id="txt_qr" name="txt_qr" /> </td> </tr> <tr> <td> 二維碼圖片 </td> <td> <img id="qrimg" alt="二維碼圖片" /> </td> </tr> <tr> <td> 生成選項 </td> <td> Encoding:<select id="Encoding"> <option value="Byte">Byte</option> <option value="AlphaNumeric">AlphaNumeric</option> <option value="Numeric">Numeric</option> </select> Correction Level:<select id="Level"> <option value="M">M</option> <option value="L">L</option> <option value="Q">Q</option> <option value="H">H</option> </select> Version:<input id="txt_ver" type="text" value="7" />(1-40) Size:<input id="txt_size" type="text" value="4" /> </td> </tr> <tr> <td colspan="4"> <input type="button" onclick="getQrImg();" value="生成二維碼" /> </td> </tr> <tr> <td> <form id="qrForm" action="Ashx/test.ashx" method="post" enctype="multipart/form-data"> <input type="file" id="file_qr" name="file_qr" /><input type="submit" value="讀取二維碼" /> </form> </td> <td colspan="1"> <img id="img_qr" alt="要讀取的圖片" /><br /> <input id="txt_readqr" type="text" /> </td> </tr> </table> </div> </body> </html> 三、test.js文件[javascript] $(document).ready(function () { var options = { beforeSubmit: showRequest, success: showResponse, dataType: 'json', clearForm: true, error: function (request, message, ex) { alert('錯誤:' + message); } }; $('#qrForm').AjaxForm(options); }); function showRequest(formData, jqForm, options) { return true; } function showResponse(responseText, statusText, xhr, $form) { if (responseText[0].count == 0) { alert(responseText[0].list[0].error); return false; } $("#img_qr").attr("src", responseText[0].list[0].imgurl); $("#txt_readqr").val(responseText[0].list[0].qrtext); return false; } function getQrImg() { var txt_qr = escape($.trim($("#txt_qr").val())); var qrEncoding = $("#Encoding").val(); ; var Level = $("#Level").val(); ; var txt_ver = $("#txt_ver").val(); ; var txt_size = $("#txt_size").val(); ; $.ajax({ type: "GET", data: "cmd=set&txt_qr=" + txt_qr + "&qrEncoding=" + qrEncoding + "&Level=" + Level + "&txt_ver=" + txt_ver + "&txt_size=" + txt_size, url: "Ashx/test.ashx", dataType: 'text', beforeSend: function (x) { x.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8"); }, success: function (json) { var dataObj = eval(json); $("#qrimg").attr("src", dataObj[0].list[0].imgurl); return false; }, error: function (request, message, ex) { alert("錯誤:" + message); } }); } 四、test.ashx,沒有判斷目錄是否存在等問題,請自行建立或者更改代碼。[csharp] using System; using System.Web; using System.Drawing; using System.Drawing.Imaging; using System.Text; using System.Text.RegularExPRessions; using ThoughtWorks.QRCode.Codec; using ThoughtWorks.QRCode.Codec.Data; using ThoughtWorks.QRCode.Codec.Util; public class test : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; string cmd = context.Request["cmd"] == null ? "get" : context.Request["cmd"].ToString(); string filename = string.Empty; string filepath = string.Empty; switch (cmd) { case "get": if (context.Request.Files.Count > 0) { for (int j = 0; j < context.Request.Files.Count; j++) { filename = Guid.NewGuid().ToString() + "_tmp.jpg"; filepath = context.Server.MapPath(@"~/Utilty/QRCode/upload") + "http://" + filename; string qrdecode = string.Empty; HttpPostedFile uploadFile = context.Request.Files[j]; uploadFile.SaveAs(filepath); QRCodeDecoder decoder = new QRCodeDecoder(); Bitmap bm = new Bitmap(filepath); qrdecode = decoder.decode(new QRCodeBitmapImage(bm)); bm.Dispose(); context.Response.Write("[{/"count/":1,/"list/":[{/"imgurl/":/"upload/" + filename + "/",/"qrtext/":/"" + qrdecode + "/"}]}]"); } } else { context.Response.Write("[{/"count/":0,/"list/":[{/"error/":/"沒有上傳文件/"}]}]"); } break; case "set": string txt_qr =ConverToGB(context.Request["txt_qr"].ToString().Trim(), 16); string qrEncoding = context.Request["qrEncoding"].ToString(); string Level = context.Request["Level"].ToString(); string txt_ver = context.Request["txt_ver"].ToString(); string txt_size = context.Request["txt_size"].ToString(); QRCodeEncoder qrCodeEncoder = new QRCodeEncoder(); String encoding = qrEncoding; if (encoding == "Byte") { qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE; } else if (encoding == "AlphaNumeric") { qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.ALPHA_NUMERIC; } else if (encoding == "Numeric") { qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.NUMERIC; } try { int scale = Convert.ToInt16(txt_size); qrCodeEncoder.QRCodeScale = scale; } catch (Exception ex) { return; } try { int version = Convert.ToInt16(txt_ver); qrCodeEncoder.QRCodeVersion = version; } catch (Exception ex) { return; } string errorCorrect = Level; if (errorCorrect == "L") qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.L; else if (errorCorrect == "M") qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M; else if (errorCorrect == "Q") qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.Q; else if (errorCorrect == "H") qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.H; Image image; String data = txt_qr; image = qrCodeEncoder.Encode(data); filename = Guid.NewGuid().ToString() + ".jpg"; filepath = context.Server.MapPath(@"~/Utilty/QRCode/upload") + "http://" + filename; System.IO.FileStream fs = new System.IO.FileStream(filepath, System.IO.FileMode.OpenOrCreate, System.IO.Fileaccess.Write); image.Save(fs, System.Drawing.Imaging.ImageFormat.Jpeg); fs.Close(); image.Dispose(); context.Response.Write("[{/"count/":1,/"list/":[{/"imgurl/":/"upload/" + filename + "/"}]}]"); //
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲一二在线观看| 91在线中文字幕| 欧美孕妇性xx| 亚洲欧美视频在线| 深夜成人在线观看| 97在线观看视频国产| 久久中文字幕在线视频| 91极品视频在线| 91网站在线看| 国产日韩综合一区二区性色av| 欧美性猛交xxxx乱大交3| 欧美日韩国产综合新一区| 日本中文字幕不卡免费| 日韩黄在线观看| 91香蕉嫩草神马影院在线观看| 欧美日韩在线一区| 久久视频在线播放| 色哟哟亚洲精品一区二区| 91视频九色网站| 亚洲欧美国产精品va在线观看| 日韩av大片免费看| 国产一区香蕉久久| 热re91久久精品国99热蜜臀| 国内精品久久久久久| 国产精品美女主播在线观看纯欲| 久久久久久久久久亚洲| 国产成人jvid在线播放| 97精品国产91久久久久久| 国产精品精品视频一区二区三区| 92裸体在线视频网站| 欧美日韩国产成人| 欧美性少妇18aaaa视频| 精品国产欧美一区二区三区成人| 亚洲色图激情小说| 日韩中文理论片| 精品久久久久久久久国产字幕| 久久中国妇女中文字幕| 亚洲午夜久久久久久久| 久久在线视频在线| 欧美一级视频一区二区| 丝袜美腿精品国产二区| 色偷偷av一区二区三区| 韩国v欧美v日本v亚洲| 亚洲天天在线日亚洲洲精| 精品久久久久久久久久久| 亚洲国模精品私拍| 91av福利视频| 精品福利视频导航| 亚洲精品日韩久久久| 日韩电影大全免费观看2023年上| 久久91精品国产| 国产精品福利小视频| 国产精品一区二区三区成人| 中文字幕欧美在线| 亚洲电影在线观看| 91香蕉嫩草神马影院在线观看| 一本色道久久综合狠狠躁篇的优点| 亚洲va码欧洲m码| 日韩成人在线免费观看| 久久久91精品国产一区不卡| 国产精品1区2区在线观看| 国产日韩欧美影视| 国产亚洲视频在线观看| 亚洲全黄一级网站| 亚洲欧美综合区自拍另类| 国产又爽又黄的激情精品视频| 97免费视频在线| 日韩视频精品在线| 欧美成人自拍视频| 精品久久久久久久久久久久久久| 久久久影视精品| 国产日韩欧美在线播放| 精品亚洲一区二区三区在线播放| 欧美精品久久久久久久久| 亚洲精品不卡在线| 一本一本久久a久久精品综合小说| 久久这里只有精品视频首页| 成人黄色午夜影院| 日韩电影中文字幕在线| 亚洲精品动漫100p| 国产精品爽爽爽爽爽爽在线观看| 97在线观看免费| 亚洲精品国产精品乱码不99按摩| 久久综合九色九九| 亚洲欧美福利视频| 欧美视频专区一二在线观看| 日韩中文字幕国产精品| 国产精品久久久999| 国产精品久久久久久久久免费看| 久久影视三级福利片| 成年无码av片在线| 国产亚洲欧美aaaa| 影音先锋日韩有码| 日本亚洲欧洲色| 欧美老女人性视频| 亚洲国产成人爱av在线播放| 成人欧美一区二区三区黑人孕妇| 日本成人黄色片| 国产精品亚洲自拍| 成人黄在线观看| 欧美激情影音先锋| 992tv成人免费影院| 亚洲a中文字幕| 久久夜精品va视频免费观看| 日韩欧美国产骚| 欧美xxxx18性欧美| 欧美一区二区三区精品电影| 中文字幕最新精品| 中文字幕视频在线免费欧美日韩综合在线看| 中文字幕在线国产精品| 国产精品久久国产精品99gif| 国产精品揄拍一区二区| 欧美极品美女视频网站在线观看免费| 国产精品免费小视频| 日日骚av一区| 欧美成人激情视频| 久久亚洲精品中文字幕冲田杏梨| 精品国产乱码久久久久久天美| 国产精品久久久91| 日本伊人精品一区二区三区介绍| 久久久久久com| 大胆人体色综合| 91亚洲精品在线观看| 国产精品美乳在线观看| 91香蕉嫩草影院入口| 国内精品国产三级国产在线专| 国产欧美va欧美va香蕉在| 欧美亚洲视频一区二区| 欧美色视频日本高清在线观看| 97久久久久久| 日韩欧美一区二区在线| 亚洲伊人久久综合| 国产成人综合精品在线| 欧美精品久久久久久久免费观看| 国产精品普通话| 最近2019年中文视频免费在线观看| 国产小视频91| 国产a∨精品一区二区三区不卡| 色视频www在线播放国产成人| 一本色道久久综合狠狠躁篇的优点| www.xxxx欧美| 亚洲福利视频网| 欧美中文在线视频| 日韩国产欧美区| 国产成人av在线| 欧美丝袜第一区| 国产一区二区三区毛片| 日韩国产精品亚洲а∨天堂免| 一区二区三区国产在线观看| 久久精品久久久久| 欧美乱大交做爰xxxⅹ性3| 成人黄色影片在线| 亚洲欧美变态国产另类| 日本免费在线精品| 国产精品96久久久久久又黄又硬| 色综合老司机第九色激情| 成人免费观看49www在线观看| 成人激情在线播放| 欧美视频中文字幕在线| 粉嫩av一区二区三区免费野| 国产精品自拍视频| 国产精品白丝av嫩草影院| 国产精品狼人色视频一区| 国产精品视频大全|