APS.NET MVC4生成二维码简单解析

一、视图

@{
 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;
 }
 }
}

以上就是简单解析了APS.NET MVC4下二维码的生成过程,希望对大家的学习有所帮助,制作属于自己的二维码。

下载源码:APS.NET MVC4二维码

(0)

相关推荐

  • javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图

    gRaphael 是一个致力于帮助开发人员在网页中绘制各种精美图表的 Javascript 库,基于强大的 Raphael 矢量图形库.你只需要编写几行简单的代码就能创建出精美的条形图.饼图.点图和曲线图. gRaphael 使用 SVG W3C 推荐标准和 VML 作为创建图形的基础,是跨浏览器的矢量图形库,目前支持的浏览器包括: Firefox 3.0+,Safari 3.0+,Chrome 5.0+,Opera 9.5+ 以及 Internet Explorer 6.0+. 使用方法:在页

  • 基于C#生成条形码操作知识汇总附源码下载

    1. 介绍 1.1 条形码 条形码(barcode):是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符. 1.2 条形码分类 可分为一维条形码和二维条形码: 一维条形码:只是在一个方向(一般是水平方向)表达信息,而在垂直方向则不表达任何信息. 二维条形码:在水平和垂直方向的二维空间存储信息的条形码. 1.3 第三方类库:ZXing.Net 1.3.1 说明 ZXing 是一个可生成和读取 1D/2D(1维/2维) 条形码的开源类库.原先是Java版本,后由第三方

  • APS.NET MVC4生成二维码简单解析

    一.视图 @{ 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"></scri

  • 如何用Python生成二维码、解析二维码

    楔子 二维码在我们的生活中可以说是必不可少的,不单单是手机支付.其它很多地方也都需要扫描二维码.那么下面我们就来看看如何使用python来生成二维码.以及识别二维码. 关于二维码,我们来说一下它的结构.当然关于二维码的结构其实不是太重要,这里只是提一下,没兴趣可以不用看. 从图中我们可以看出二维码结构整体划分为功能图形和编码区两大部分,功能图形又细分为:空白区.位置探测图形.位置探测图形分隔符.定位图形.校正图形,而编码区细分为:格式信息.版本信息.数据和纠错码字,来简单了解一下每一部分的功能:

  • Java实现的生成二维码和解析二维码URL操作示例

    本文实例讲述了Java实现的生成二维码和解析二维码URL操作.分享给大家供大家参考,具体如下: 二维码依赖jar包,zxing <!-- 二维码依赖 start --> <dependency> <groupId>com.google.zxing</groupId> <artifactId>javase</artifactId> <version>3.0.0</version> </dependency&

  • PHP基于phpqrcode类库生成二维码过程解析

    phpqrcode类库官网下载地址: https://sourceforge.net/projects/phpqrcode/ 1.我们先看看php是怎么生成二维码的 1.首先我们先下载一下 phpqrcode 类库. 2.下载完后解压我们会发现 phpqrcode文件夹 里面有一堆的文件,但是我们只需要找到 phpqrcode.php文件复制, 跟 index.php 文件放在一起即可,而 index.php 就是你生成二维码的php代码. 3.接下来就是代码环节了,复制以下代码黏贴到php文件

  • Java利用Zxing生成二维码的简单实例

    Zxing是Google提供的关于条码(一维码.二维码)的解析工具,提供了二维码的生成与解析的方法,现在我简单介绍一下使用Java利用Zxing生成与解析二维码 1.二维码的生成 1.1 将Zxing-core.jar 包加入到classpath下. 1.2 二维码的生成需要借助MatrixToImageWriter类,该类是由Google提供的,可以将该类拷贝到源码中,这里我将该类的源码贴上,可以直接使用. import com.google.zxing.common.BitMatrix; i

  • nodejs实现超简单生成二维码的方法

    本文实例讲述了nodejs实现超简单生成二维码的方法.分享给大家供大家参考,具体如下: 一开始使用node-qrcode(https://github.com/soldair/node-qrcode),结果安装的时候需要安装python,且不支持python3.0以上,安装python2.0的时候又需要安装其他的环境,所以放弃了. 最后选择了一个小众的插件qr-image(https://github.com/alexeyten/qr-image) 前台页面如下 views/index.ejs

  • vue生成二维码QR Code的简单实现方法示例

    目录 qrcodejs2 vue-qr qrcodejs2 下载qrcodejs2 cnpm i -S qrcodejs2 使用 <template> <span ref="qrCodeUrl"></span> </template> <script> import QRCode from "qrcodejs2"; export default { data() { return {}; }, mounte

  • 使用PHP生成二维码的两种方法(带logo图像)

    一.利用Google API生成二维码  Google提供了较为完善的二维码生成接口,调用API接口很简单,以下是调用代码: $urlToEncode="http://www.jb51.net"; generateQRfromGoogle($urlToEncode); /** * google api 二维码生成[QRcode可以存储最多4296个字母数字类型的任意文本,具体可以查看二维码数据格式] * @param string $chl 二维码包含的信息,可以是数字.字符.二进制信

  • Android平台生成二维码并实现扫描 & 识别功能

    1.二维码的前世今生 "二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的:在代码编制上巧妙地利用构成计算机内部逻辑基础的"0"."1"比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集:每个字符占有一定的宽度:具有一定的校验功能

  • php生成二维码

    随着科技的进步,大家经常见到条形码和二维码,特别是智能手机时代这些码更显得活跃了,今天我给大家分享下如何使用PHP生成二维码,至于如何生成二维码,一般常用的试调用google的开放api来生成,言归正传,直接上代码了: 第一种方法: 利用Google API生成二维码 Google提供了较为完善的二维码生成接口,调用API接口很简单,以下是调用代码: $urlToEncode="http://www.jb51.net"; generateQRfromGoogle($urlToEncod

随机推荐