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 ...
随机推荐
- acitvemq的jvm监控
在conf/activemq.xml启用jmx监控 即在broker后面添加useJmx="true"配置参数 <managementContext> <mana ...
- VIP之FrameBuffer
2.VIP Frame Buffer 1.原来我是一直存在一个疑惑,demo上说VIP Frame Buffer输出是固定的60fps,但是在NiosII的程序中我没有找到设置输出为60fps的设置 ...
- 【慕课网实战】Spark Streaming实时流处理项目实战笔记九之铭文升级版
铭文一级: 核心概念:StreamingContext def this(sparkContext: SparkContext, batchDuration: Duration) = { this(s ...
- VirtualBox安装增强工具时:Unable to install guest additions: unknown filesystem type 'iso9660'
解决方法: sudo apt-get install --reinstall linux-image-$(uname -r) 参考:http://askubuntu.com/questions/596 ...
- 安装postgis,使用postgis导入shapefile的步骤总结
最近在做开源WebGIS方面的工作,要使用postgis导入shapefile数据.难点在安装过程和导入时命令行参数的使用,以下分别作个介绍,希望对大家有点用 一.安装postgis (1)首先到po ...
- 20170831工作日记--自定义View学习
学习了LayoutInflater的原理分析.视图的绘制流程.视图的状态及重绘等知识,按类型来划分的话,自定义View的实现方式大概可以分为三种,自绘控件.组合控件.以及继承控件.那么下面我们就来依次 ...
- Jmeter-接口功能测试
前言 前面已经讲过了如何用Postman做接口功能测试,本篇主要是用Jmeter来演示如何做接口功能测试,这里就大致说一下Jmeter如何用哈,其余的也不多说了. Jmeter接口功能测试实例 因为在 ...
- ubuntu下mysql远程连接
第一步: vim /etc/mysql/my.cnf找到bind-address = 127.0.0.1 注释掉这行,如:#bind-address = 127.0.0.1 ...
- thrift学习总结
thrift 重要的几个组件有 :数据类型,transport,protocol,versioning,processor 1.数据类型 thrift的数据类型有1.一些原生类型,比如string,i ...
- Hdu1796 How many integers can you find 2017-06-27 15:54 25人阅读 评论(0) 收藏
How many integers can you find Time Limit : 12000/5000ms (Java/Other) Memory Limit : 65536/32768K ...