生成二维码
本人还是新手,记录的都是比较浅显的东西,目前主要是为了自己的以后留下一丢丢东西
需要ThoughtWorks.QRCode.dll
项目

HtmlPage.html代码
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script src="js/jquery-1.11.2.min.js"></script>
</head>
<body>
<input type="text" value="网址" id="txtMessage" /> <input type="button" value="生成" id="btn"/>
<img src="" />
<script>
$("#btn").click(function () {
var a = $("#txtMessage").val();
$.ajax({
url: "/Handler.ashx",
data: { msg: a },
type: "get",
dataType: "json",
success: function (data) {
$("img").attr("src", data.msg);
}
});
});
</script>
</body>
</html>
Handler.aspx代码
<%@ WebHandler Language="C#" Class="Handler" %>
using System;
using System.Web;
using ThoughtWorks.QRCode.Codec;
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
//要生成的文本信息 如:https://www.baidu.com/
string a = context.Request.QueryString["msg"];
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
//编码模式
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
qrCodeEncoder.QRCodeScale = 8;//
// 设置设置二维码尺寸,取值范围1-40,值越大尺寸越大,可存储的信息越大
qrCodeEncoder.QRCodeVersion = 8;//
// 设置二维码排错率,可选L(7%)、M(15%)、Q(25%)、H(30%),排错率越高可存储的信息越少,但对二维码清晰度的要求越小
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.L;
System.Drawing.Image image = qrCodeEncoder.Encode(a);
string imgpath = "/img/1.jpg";//存储的路径
string filepath = context.Server.MapPath("~" + imgpath);
System.IO.FileStream fs = new System.IO.FileStream(filepath, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write);
image.Save(fs, System.Drawing.Imaging.ImageFormat.Jpeg);//文本的保存
fs.Close();
image.Dispose();
fs.Dispose();
context.Response.Write("{\"status\":1,\"msg\":\"" + imgpath + "\"}");
context.Response.End();
}
public bool IsReusable {
get {
return false;
}
}
}

浙公网安备 33010602011771号