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 ...
随机推荐
- fork、vfork、clone
三个都是用来创建新进程的函数 fork 概念 1)fork函数调用一次会返回两次,给父进程返回子进程的进程ID,给子进程返回0(这么设计的原因:父进程可以有很多子进程,没有一个函数可以让父进程知道所有 ...
- matchesSelector()方法
let result = element.matches(selectorString); result 的值为 true 或 false. selectorString 是个css选择器字符串. i ...
- AngularJS实战之路由ui-view
1. 路由(ui-router) 1.1. 环境 1) angular.min.js 2) angular-ui-router-0.2.10.js 3) 确保确保包含ui.router为模块依赖关系. ...
- webService之helloword(java)rs
webservice之rs(helloworld) 1.pom.xml文件 <dependencies> <!-- 使用CXF RS开发 --> <dependency& ...
- Hdu3829 Cat VS Dog(最大独立点集)
Cat VS Dog Problem Description The zoo have N cats and M dogs, today there are P children visiting t ...
- ZUFE2480: 神奇的序列 2017-05-12 16:45 39人阅读 评论(0) 收藏
2480: 神奇的序列 时间限制: 4 Sec 内存限制: 256 MB 提交: 31 解决: 15 [提交][状态][讨论版] 题目描述 序列a如下: a[0] = A; a[1] = B; a ...
- 谷歌的java文本差异对比工具
package com.huawei.common.transfertool.utils; /** * @author Paul * @version 0.1 * @date 2018/12/11 * ...
- AngularJS 指令中的 replace:true
默认值是fasle,模板会被当作子元素插入到调用此指令的元素内部. <my-directive></my-directive> myModule.directive(" ...
- 走上模拟道路 HDU4891
http://vjudge.net/contest/view.action?cid=51327#problem/D Description Yoda: May the Force be with yo ...
- JS学习笔记6_事件
1.事件冒泡 由内而外的事件传播(从屏幕里飞出来一支箭的感觉) 2.事件捕获 由表及里的事件传播(力透纸背的感觉) 3.DOM事件流(DOM2级) 事件捕获阶段 -> 处于目标阶段 -> ...