如何利用ThoughtWorks.QRCode 生成二维码

简介: 1.引用ThoughtWorks.QRCode.dll 在nuget上查找即可引用,也可自行下载 2.生成二维码静态方法 参数: 二维码内容:fileUrl  二维码图片名:typeName     #region 生成二维码图片 /// ...

 

1.引用ThoughtWorks.QRCode.dll

在nuget上查找即可引用,也可自行下载

2.生成二维码静态方法

参数:

二维码内容:fileUrl 

二维码图片名:typeName 

     #region 生成二维码图片
        /// <summary>
        ///  生成二维码图片
        /// </summary>
        /// <returns>上传图片路径</returns>
        public static string UploadQRCodeImage(string fileUrl, string typeName)
        {
            QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
            String encoding = "Byte";
            if (encoding == "Byte")
            {
                qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
            }
            else if (encoding == "AlphaNumeric")
            {
                qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.ALPHA_NUMERIC;
            }
            else if (encoding == "Numeric")
            {
                qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.NUMERIC;
            }
            try
            {
                int scale = 3;
                qrCodeEncoder.QRCodeScale = scale;
            }
            catch (Exception ex)
            {
                // return;
            }
            try
            {
                int version = 0;//出现数组溢出问题,使用0会自动检测,使得encode通过
                qrCodeEncoder.QRCodeVersion = version;
            }
            catch (Exception ex)
            {
                // MessageBox.Show("Invalid version !");
            }

            string errorCorrect = "H";
            if (errorCorrect == "L")
                qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.L;
            else if (errorCorrect == "M")
                qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
            else if (errorCorrect == "Q")
                qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.Q;
            else if (errorCorrect == "H")
                qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.H;

            Image image;
          //  String data = fileUrl;
            image = qrCodeEncoder.Encode(fileUrl);

            //上传目录   
            string directory = HttpContext.Current.Server.MapPath(QRCodePath);
            string fileName = typeName + ".png";// + fileUrl.Split('.').Last();
            
            if (!String.IsNullOrEmpty(fileName))
            {
                //文件全路径   
                string path = directory + fileName;
                //判断目录是否存在   
                if (!Directory.Exists(directory))
                {
                    Directory.CreateDirectory(directory);
                }
                //文件存在就删除文件   
                // AccessoryAPPI.DeleteFiles(path);//个人类库方法,仅作记录
          File.Delete(path);

image.Save(path); }
return ""; } #endregion

3.扩展

 a.该方法可以直接返回path,即二维码图片路径;

 b.如果使用.NET 4.0 会遇到展示的安全限制问题,可参考下文,返回base64图片;

  http://www.cnblogs.com/xcsn/p/5278362.html

 

 

 

相关文章
|
6月前
|
存储 BI API
使用 ABAP 代码制作手机能够扫描的二维码(QRCode)试读版
使用 ABAP 代码制作手机能够扫描的二维码(QRCode)试读版
57 1
|
8月前
|
存储 搜索推荐 算法
分享一个在线二维码生成器(基于qrcode.js开发)
一种二维码扫描与生成的工具, 它可生成个性化二维码, 支持文本、网址、图片、短信、电话等格式及主题,提供融合码功能
135 1
|
移动开发 前端开发 JavaScript
技术汇总:第十一章:生成二维码
技术汇总:第十一章:生成二维码
108 0
|
数据可视化 Java Android开发
开源)Java生成二维码分享海报(4)
开源)Java生成二维码分享海报
369 0
开源)Java生成二维码分享海报(4)
|
Python
Python编程:qrcode库生成二维码
Python编程:qrcode库生成二维码
116 0
28用zxing对二维码的解析
28用zxing对二维码的解析
98 0
27.用zxing生成二维码
27.用zxing生成二维码
182 0
|
移动开发 JSON 前端开发
如何利用Qrcode制作一个二维码生成器?
玲琅满目的二维码在我们的都市和朋友圈中随处可见, 很多平台都提供了定制二维码的服务, 那么作为一名程序员, 我们如何自己实现一个简单的二维码生成器呢? 接下来笔者就来带大家一起利用Qrcode实现一个二维码生成器.
268 0
|
Java 程序员 图形学
开源)Java生成二维码分享海报(2)
开源)Java生成二维码分享海报
316 0
开源)Java生成二维码分享海报(2)
|
Java
开源)Java生成二维码分享海报(3)
开源)Java生成二维码分享海报
281 0
开源)Java生成二维码分享海报(3)