MVC3学习:利用jquery+ajax生成二维码(支持中文)
二维码越来越热火了,做电子商务网站,不做二维码,你就OUT了。
一、下载DLL文件(ThoughtWorks.QRCode.dll),并在项目中引用。点此下载
如果你还不知道什么是QRCode二维码,,请移步http://www.cnblogs.com/beasy/archive/2008/06/27/1230991.html
二、视图View
- @{
- ViewBag.Title = "Index";
- }
- <script type="text/javascript">
- $(function () {
- $("#btn").click(function () {
- var qrText = $.trim($("#txt").val());
- $.post("default/SetQRCode", { qrText: qrText },
- function (data) {
- if (data == "-1") { alert("生成二维码失败"); return false; }
- else {
- $("#qrimg").css("display", "block");
- $("#qrimg").attr("src", data);
- }
- });
- });
- });
- </script>
- <h2>生成二维码</h2>
- <label>输入二维码信息:</label><input type="text" id="txt" />
- <input type="button" id="btn" value="生成二维码" />
- <br />
- <br />
- <img src="" alt="二维码" id="qrimg" style="border:0;display:none" />
将需要做成二维码的文本,通过ajax传递到控制器中的SetQRCode中进行处理,生成二维码图。
三、控制器(default/SetQRCode)
先在控制器中添加命名空间
- using ThoughtWorks.QRCode.Codec;
- using System.Drawing.Imaging;
- using System.IO;
- using System.Text;
然后编写Action
- public ActionResult SetQRCode(string qrText)
- {
- try
- {
- if (Request.IsAjaxRequest())
- {
- //设置编码方式为Byte。也可以设置为AlphaNumeric或Numeric
- QRCodeEncoder encoder = new QRCodeEncoder();
- encoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
- //设置大小为4
- encoder.QRCodeScale = ;
- //设置版本为8
- encoder.QRCodeVersion = ;
- //设置纠错能力级别为M,也可以设置为H、L或Q
- encoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
- //数据内容编码
- System.Drawing.Bitmap img = encoder.Encode(qrText,Encoding.UTF8);
- //图片名称
- string filename = Guid.NewGuid().ToString() + ".gif";
- //图片路径
- string rootPath = "../Content/upload/";
- string path = Server.MapPath(rootPath);
- if (!Directory.Exists(path))
- Directory.CreateDirectory(path);
- string filepath = path + filename;
- //生成图片文件
- FileStream fs=new FileStream(filepath,FileMode.OpenOrCreate,FileAccess.Write);
- img.Save(fs, System.Drawing.Imaging.ImageFormat.Gif);
- fs.Dispose();
- img.Dispose();
- //返回图片路径
- return Content(rootPath + filename);
- }
- else
- return Content("-1");
- }
- catch
- {
- return Content("-1");
- }
- }
只需要三步,二维码就生成了,是不是很简单呢?
快用你的智能手机来扫描看看吧
MVC3学习:利用jquery+ajax生成二维码(支持中文)的更多相关文章
- jquery.qrcode生成二维码支持中文
基本使用方法: 1.首先在页面中加入jquery库文件和qrcode插件. <script type="text/javascript" src="jquery.j ...
- 使用jquery-qrcode在页面上生成二维码,支持中文
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- C#Qrcode生成二维码支持中文,带图片,带文字
C#Qrcode生成二维码支持中文带图片的操作请看二楼的帖子,当然开始需要下载一下C#Qrcode的源码 下载地址 : http://www.codeproject.com/Articles/2057 ...
- 使用jquery.qrcode生成二维码支持logo,和中文
/* utf.js - UTF-8 <=> UTF-16 convertion * * Copyright (C) 1999 Masanao Izumo <iz@onicos.co. ...
- C# Qrcode生成二维码支持中文,带图片,带文字 2015-01-22 15:11 616人阅读 评论(1) 收藏
1.下载Qrcode库源码,下载地址:http://www.codeproject.com/Articles/20574/Open-Source-QRCode-Library 2.打开源码时,部分类库 ...
- Qrcode生成二维码支持中文,带图片,带文字
1.下载Qrcode库源码, 下载地址:http://www.codeproject.com/Articles/20574/Open-Source-QRCode-Library2.打开源码时, 部分类 ...
- 利用QrCode.Net生成二维码 asp.net mvc c#
利用QrCode.Net生成二维码 asp.net mvc c# 里面介绍了.net的方式及js的方式,还不错. 里面用到的qrcode.net的类库下载地址:https://qrcodenet.co ...
- 利用google api生成二维码名片
利用google api生成二维码名片 二维条码/二维码可以分为堆叠式/行排式二维条码和矩阵式二维条码.堆叠式/行排式二维条码形态上是由多行短截的一维条码堆叠而成:矩阵式二维条码以矩阵的形式组成,在矩 ...
- 使用jquery.qrcode生成二维码及常见问题解决方案
转载文章 使用jquery.qrcode生成二维码及常见问题解决方案 一.jquery.qrcode.js介 jquery.qrcode.js 是一个纯浏览器 生成 QRcode 的 jQuery ...
随机推荐
- TCP/IP协议(5):传输层之TCP
一.TCP报文 上图为TCP报文的格式,可以看到TCP头部占20个字节,其中红色圆圈中每一项占一位,表示TCP报文的类型,置1表示该项有效. SYN表示建立连接. FIN表示关闭连接. A ...
- PI3HDX1204B
PI3HDX1204B用于HDMI2.0 6Gpbs的中继器,它有可编程的高均衡,输出摆幅和去加重控制模式.当传输为6Gpbs时,最大的EQ是22dB. PI3HDX1240B的EQ,SW和去加重可以 ...
- Jersey RESTful WebService框架学习(五)使用@BeanParam
第一步:定义一个实体类 注意:实体类的属性需要加上FormParam注解 public class User { @FormParam("name") private String ...
- Java理论学时第四节。课后作业。
请查看String.equals()方法的实现代码,注意学习其实现方法. public class StringEquals { public static void main(String[] ar ...
- (多线程dp)Matrix (hdu 2686)
http://acm.hdu.edu.cn/showproblem.php?pid=2686 Problem Description Yifenfei very like play a num ...
- java实现把两张图片合并(Graphics2D)
package com.yin.text; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.i ...
- MySQL5.7的安装配置
双击进入安装,如下图: 2 点击上图红框“Install MySQL Products”进入安装界面,如下图: 3 根据上图当中第一步骤与第二步骤,进入下图: 4 进入设置界面,如下图: 5 在原来旧 ...
- U盘或者移动银盘退出时一直显示占用中问题解决--最粗暴解决方式
问题描述: ---------------------------弹出 USB 大容量存储设备 时出问题---------------------------Windows 无法停用“通用卷”设备,原 ...
- LigerUi中为Grid表加上序号,并调整适当宽度!(实例)
LigerUi中为Grid表加上序号,并调整适当宽度!(实例) dataAction: 'server', pageSize: 20, toolbar: {}, url: 'ndl ...
- 笔记1:jmeter性能测试使用示例(原文:http://blog.csdn.net/zhongweijian/article/details/7619319)
jmeter是一个简单开源的纯java的性能测试工具.今天学习了jmeter使用了下jmeter,使用起来非常简单. 如果我们要对163的首页性能进行简单测试,我们可以按照以下步骤进行. 1.在测试计 ...