二维码越来越热火了,做电子商务网站,不做二维码,你就OUT了。

一、下载DLL文件(ThoughtWorks.QRCode.dll),并在项目中引用。点此下载

如果你还不知道什么是QRCode二维码,,请移步http://www.cnblogs.com/beasy/archive/2008/06/27/1230991.html

二、视图View

  1. @{
  2. ViewBag.Title = "Index";
  3. }
  4. <script type="text/javascript">
  5. $(function () {
  6. $("#btn").click(function () {
  7. var qrText = $.trim($("#txt").val());
  8. $.post("default/SetQRCode", { qrText: qrText },
  9. function (data) {
  10. if (data == "-1") { alert("生成二维码失败"); return false; }
  11. else {
  12. $("#qrimg").css("display", "block");
  13. $("#qrimg").attr("src", data);
  14. }
  15. });
  16. });
  17. });
  18.  
  19. </script>
  20.  
  21. <h2>生成二维码</h2>
  22. <label>输入二维码信息:</label><input type="text" id="txt" />
  23. <input type="button" id="btn" value="生成二维码" />
  24. <br />
  25. <br />
  26. <img src="" alt="二维码" id="qrimg" style="border:0;display:none" />

将需要做成二维码的文本,通过ajax传递到控制器中的SetQRCode中进行处理,生成二维码图。

三、控制器(default/SetQRCode)

先在控制器中添加命名空间

  1. using ThoughtWorks.QRCode.Codec;
  2. using System.Drawing.Imaging;
  3. using System.IO;
  4. using System.Text;

然后编写Action

  1. public ActionResult SetQRCode(string qrText)
  2. {
  3. try
  4. {
  5. if (Request.IsAjaxRequest())
  6. {
  7. //设置编码方式为Byte。也可以设置为AlphaNumeric或Numeric
  8. QRCodeEncoder encoder = new QRCodeEncoder();
  9. encoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
  10. //设置大小为4
  11. encoder.QRCodeScale = ;
  12. //设置版本为8
  13. encoder.QRCodeVersion = ;
  14. //设置纠错能力级别为M,也可以设置为H、L或Q
  15. encoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
  16. //数据内容编码
  17. System.Drawing.Bitmap img = encoder.Encode(qrText,Encoding.UTF8);
  18. //图片名称
  19. string filename = Guid.NewGuid().ToString() + ".gif";
  20. //图片路径
  21. string rootPath = "../Content/upload/";
  22. string path = Server.MapPath(rootPath);
  23. if (!Directory.Exists(path))
  24. Directory.CreateDirectory(path);
  25. string filepath = path + filename;
  26. //生成图片文件
  27. FileStream fs=new FileStream(filepath,FileMode.OpenOrCreate,FileAccess.Write);
  28. img.Save(fs, System.Drawing.Imaging.ImageFormat.Gif);
  29. fs.Dispose();
  30. img.Dispose();
  31. //返回图片路径
  32. return Content(rootPath + filename);
  33. }
  34. else
  35. return Content("-1");
  36.  
  37. }
  38. catch
  39. {
  40.  
  41. return Content("-1");
  42. }
  43. }

只需要三步,二维码就生成了,是不是很简单呢?

快用你的智能手机来扫描看看吧

MVC3学习:利用jquery+ajax生成二维码(支持中文)的更多相关文章

  1. jquery.qrcode生成二维码支持中文

    基本使用方法: 1.首先在页面中加入jquery库文件和qrcode插件. <script type="text/javascript" src="jquery.j ...

  2. 使用jquery-qrcode在页面上生成二维码,支持中文

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. C#Qrcode生成二维码支持中文,带图片,带文字

    C#Qrcode生成二维码支持中文带图片的操作请看二楼的帖子,当然开始需要下载一下C#Qrcode的源码 下载地址 : http://www.codeproject.com/Articles/2057 ...

  4. 使用jquery.qrcode生成二维码支持logo,和中文

    /* utf.js - UTF-8 <=> UTF-16 convertion * * Copyright (C) 1999 Masanao Izumo <iz@onicos.co. ...

  5. C# Qrcode生成二维码支持中文,带图片,带文字 2015-01-22 15:11 616人阅读 评论(1) 收藏

    1.下载Qrcode库源码,下载地址:http://www.codeproject.com/Articles/20574/Open-Source-QRCode-Library 2.打开源码时,部分类库 ...

  6. Qrcode生成二维码支持中文,带图片,带文字

    1.下载Qrcode库源码, 下载地址:http://www.codeproject.com/Articles/20574/Open-Source-QRCode-Library2.打开源码时, 部分类 ...

  7. 利用QrCode.Net生成二维码 asp.net mvc c#

    利用QrCode.Net生成二维码 asp.net mvc c# 里面介绍了.net的方式及js的方式,还不错. 里面用到的qrcode.net的类库下载地址:https://qrcodenet.co ...

  8. 利用google api生成二维码名片

    利用google api生成二维码名片 二维条码/二维码可以分为堆叠式/行排式二维条码和矩阵式二维条码.堆叠式/行排式二维条码形态上是由多行短截的一维条码堆叠而成:矩阵式二维条码以矩阵的形式组成,在矩 ...

  9. 使用jquery.qrcode生成二维码及常见问题解决方案

    转载文章  使用jquery.qrcode生成二维码及常见问题解决方案 一.jquery.qrcode.js介 jquery.qrcode.js 是一个纯浏览器 生成 QRcode 的 jQuery ...

随机推荐

  1. TCP/IP协议(5):传输层之TCP

    一.TCP报文 上图为TCP报文的格式,可以看到TCP头部占20个字节,其中红色圆圈中每一项占一位,表示TCP报文的类型,置1表示该项有效. SYN表示建立连接.    FIN表示关闭连接.    A ...

  2. PI3HDX1204B

    PI3HDX1204B用于HDMI2.0 6Gpbs的中继器,它有可编程的高均衡,输出摆幅和去加重控制模式.当传输为6Gpbs时,最大的EQ是22dB. PI3HDX1240B的EQ,SW和去加重可以 ...

  3. Jersey RESTful WebService框架学习(五)使用@BeanParam

    第一步:定义一个实体类 注意:实体类的属性需要加上FormParam注解 public class User { @FormParam("name") private String ...

  4. Java理论学时第四节。课后作业。

    请查看String.equals()方法的实现代码,注意学习其实现方法. public class StringEquals { public static void main(String[] ar ...

  5. (多线程dp)Matrix (hdu 2686)

    http://acm.hdu.edu.cn/showproblem.php?pid=2686     Problem Description Yifenfei very like play a num ...

  6. java实现把两张图片合并(Graphics2D)

    package com.yin.text; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.i ...

  7. MySQL5.7的安装配置

    双击进入安装,如下图: 2 点击上图红框“Install MySQL Products”进入安装界面,如下图: 3 根据上图当中第一步骤与第二步骤,进入下图: 4 进入设置界面,如下图: 5 在原来旧 ...

  8. U盘或者移动银盘退出时一直显示占用中问题解决--最粗暴解决方式

    问题描述: ---------------------------弹出 USB 大容量存储设备 时出问题---------------------------Windows 无法停用“通用卷”设备,原 ...

  9. LigerUi中为Grid表加上序号,并调整适当宽度!(实例)

    LigerUi中为Grid表加上序号,并调整适当宽度!(实例) dataAction: 'server', pageSize: 20, toolbar: {},           url: 'ndl ...

  10. 笔记1:jmeter性能测试使用示例(原文:http://blog.csdn.net/zhongweijian/article/details/7619319)

    jmeter是一个简单开源的纯java的性能测试工具.今天学习了jmeter使用了下jmeter,使用起来非常简单. 如果我们要对163的首页性能进行简单测试,我们可以按照以下步骤进行. 1.在测试计 ...