二维码越来越热火了,做电子商务网站,不做二维码,你就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生成二维码(支持中文)的更多相关文章

  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. fork、vfork、clone

    三个都是用来创建新进程的函数 fork 概念 1)fork函数调用一次会返回两次,给父进程返回子进程的进程ID,给子进程返回0(这么设计的原因:父进程可以有很多子进程,没有一个函数可以让父进程知道所有 ...

  2. matchesSelector()方法

    let result = element.matches(selectorString); result 的值为 true 或 false. selectorString 是个css选择器字符串. i ...

  3. AngularJS实战之路由ui-view

    1. 路由(ui-router) 1.1. 环境 1) angular.min.js 2) angular-ui-router-0.2.10.js 3) 确保确保包含ui.router为模块依赖关系. ...

  4. webService之helloword(java)rs

    webservice之rs(helloworld) 1.pom.xml文件 <dependencies> <!-- 使用CXF RS开发 --> <dependency& ...

  5. Hdu3829 Cat VS Dog(最大独立点集)

    Cat VS Dog Problem Description The zoo have N cats and M dogs, today there are P children visiting t ...

  6. ZUFE2480: 神奇的序列 2017-05-12 16:45 39人阅读 评论(0) 收藏

    2480: 神奇的序列 时间限制: 4 Sec  内存限制: 256 MB 提交: 31  解决: 15 [提交][状态][讨论版] 题目描述 序列a如下: a[0] = A; a[1] = B; a ...

  7. 谷歌的java文本差异对比工具

    package com.huawei.common.transfertool.utils; /** * @author Paul * @version 0.1 * @date 2018/12/11 * ...

  8. AngularJS 指令中的 replace:true

    默认值是fasle,模板会被当作子元素插入到调用此指令的元素内部. <my-directive></my-directive> myModule.directive(" ...

  9. 走上模拟道路 HDU4891

    http://vjudge.net/contest/view.action?cid=51327#problem/D Description Yoda: May the Force be with yo ...

  10. JS学习笔记6_事件

    1.事件冒泡 由内而外的事件传播(从屏幕里飞出来一支箭的感觉) 2.事件捕获 由表及里的事件传播(力透纸背的感觉) 3.DOM事件流(DOM2级) 事件捕获阶段 -> 处于目标阶段 -> ...