码迷,mamicode.com
首页 > 其他好文 > 详细

生成二维码

时间:2017-11-04 17:51:02      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:format   清晰度   https   version   query   txt   web   分享   stream   

本人还是新手,记录的都是比较浅显的东西,目前主要是为了自己的以后留下一丢丢东西

需要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;
        }
    }

}

  

生成二维码

标签:format   清晰度   https   version   query   txt   web   分享   stream   

原文地址:http://www.cnblogs.com/dadafeiming/p/7783798.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!