打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
APS.NET MVC4生成解析二维码简单Demo

 

一、视图


@{    Layout = null;}<!DOCTYPE html><html><head>    <meta name="viewport" content="width=device-width" />    <title>Index</title>    <script src="~/Scripts/jquery-1.8.2.min.js"></script>    <script type="text/javascript">        $(function () {            //生成            $('#createBtn').click(function () {                createImage();            });            //解析            $('#analysisBtn').click(function () {                analysisImage();            });        });        //生成二维码        function createImage() {            var content = $('#content').val();            //ajax开始            $.post("/ORCode/GetORImage/",                { "content": content },                function (data) {                    $('#imgDiv').empty();                    $('#imgDiv').append('<img id="ORImage" />');                    $("#ORImage").attr("src", data);                });            //ajax结束        }        //解析二维码        function analysisImage() {            //获取图片名称            var imageUrl = $('#ORImage').attr("src");            var array = imageUrl.split('/');            var imageName = array[array.length - 1]; //如:123.jpg            //ajax开始            $.post("/ORCode/GetORImageContent/",                { "imageName": imageName },                function (data) {                    $('#ORCodeContent').empty();                    $('#ORCodeContent').text(data);                });            //ajax结束        }    </script></head><body>    <div style="text-align:center;">        <div>            <textarea style="width:230px;height:120px;" id="content"></textarea>            <br />            <input id="createBtn" type="button" value="生成二维码" />        </div>        <div>            <textarea style="width:230px;height:120px;" id="ORCodeContent"></textarea>            <br />            <input id="analysisBtn" type="button" value="解析二维码" />        </div>        <div style="margin-top:20px;" id="imgDiv">        </div>    </div></body></html>

二、控制器


using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;using Common;using System.Drawing;namespace QRCodeDemo.Controllers{    public class ORCodeController : Controller    {        //        // GET: /ORCode/        public ActionResult Index()        {            return View();        }        [HttpPost]        public ActionResult GetORImage(string content)        {            //if (string.IsNullOrEmpty(content))            //{            //    return Content("");            //}            string timeStr = DateTime.Now.ToFileTime().ToString();            Bitmap bitmap = QRCodeOp.QRCodeEncoderUtil(content);            string fileName = Server.MapPath("~") + "Content\\Images\\QRImages\\" + timeStr + ".jpg";            bitmap.Save(fileName);//保存位图            string imageUrl = "/Content/Images/QRImages/" + timeStr + ".jpg";//显示图片              return Content(imageUrl);        }        [HttpPost]        public ActionResult GetORImageContent(string imageName)        {            string fileUrl = Server.MapPath("~") + "Content\\Images\\QRImages\\" + imageName;            Bitmap bitMap = new Bitmap(fileUrl);            string content = QRCodeOp.QRCodeDecoderUtil(bitMap);            return Content(content);        }    }}

三、二维码生成工具类


using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using ThoughtWorks.QRCode.Codec;using ThoughtWorks.QRCode.Codec.Data;using System.Drawing;namespace Common{    public class QRCodeOp    {        /// <summary>         /// 生成二维码         /// </summary>         /// <param name="qrCodeContent">要编码的内容</param>         /// <returns>返回二维码位图</returns>         public static Bitmap QRCodeEncoderUtil(string qrCodeContent)        {            QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();            qrCodeEncoder.QRCodeVersion = 0;            Bitmap img = qrCodeEncoder.Encode(qrCodeContent, Encoding.UTF8);//指定utf-8编码, 支持中文             return img;        }        /// <summary>         /// 解析二维码         /// </summary>         /// <param name="bitmap">要解析的二维码位图</param>         /// <returns>解析后的字符串</returns>         public static string QRCodeDecoderUtil(Bitmap bitmap)        {            QRCodeDecoder decoder = new QRCodeDecoder();            string decodedString = decoder.decode(new QRCodeBitmapImage(bitmap), Encoding.UTF8);//指定utf-8编码, 支持中文             return decodedString;        }    }}


 
 
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
asp.net 生成、解析条形码和二维码
Android照片墙应用实现,再多的图片也不怕崩溃
Android图片缓存之Lru算法(二)
使用Graphics合成带二维码和头像的分享图(小程序分享、App分享)
【收藏篇】Android 开发中常用的10种工具类
二维码生成、解析(QRCode.dll)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服