二维码生成

生成单个二维码

public JsonResult Create()
        {
            var msg = new JsonMessage(false, "添加失败");
            var qmodel = new Qrcode() { QrcodeURL = "" };
            new QrcodeService().AddEntity(qmodel);

    //引用二维码的程序集
            string qrcode = QrCodeApi.GetShowQrCodeUrl(QrCodeApi.Create(WeixinController.AppId, 0, qmodel.Id).ticket);

    //保存二维码到数据库,也可以用别的方法写
            new QrcodeService().Update(a => a.Id == qmodel.Id, b => new Qrcode {
                QrcodeURL = qrcode,
            });
            msg.Status = true;
            msg.Results = "/Qrcode/Index";

     //生成之后保存二维码到文件夹
            WebClient w = new WebClient();
            string datetime = DateTime.Now.ToString("yyyyMMddHHmmss");
            string savePath = Server.MapPath("/UploadFile/Qrcode/" + datetime + "编号" + qmodel.Id + ".jpg");
            w.DownloadFile(qrcode, savePath);//指定的URL以及保存的物理路径
            w.Dispose();
            return Json(msg);
        }

  //批量生成二维码

//nums 要生成二维码的数量

public JsonResult Createnums(int? nums)
        {
            var msg = new JsonMessage(false,"二维码生成失败");
            var qmodel = new Qrcode() { QrcodeURL = "" };

     //批量生产所以写了个循环,基本上生成一次性生成1000条都可以的。3000条以上运行速度就比较慢

     有更好的写法望指导
            for (int i = 0; i < nums; i++)
            {
                new QrcodeService().AddEntity(qmodel);

      //引用二维码的程序集
                string qrcode = QrCodeApi.GetShowQrCodeUrl(QrCodeApi.Create(WeixinController.AppId, 0, qmodel.Id).ticket);
                //保存二维码到数据库,也可以用别的方法写

      new QrcodeService().Update(a => a.Id == qmodel.Id, b => new Qrcode
                {
                    QrcodeURL = qrcode,
                });
                msg.Status = true;
                msg.Results = "二维码生成成功";

      //生成之后保存二维码到文件夹
                WebClient w = new WebClient();
                string datetime = DateTime.Now.ToString("yyyyMMddHHmmss");
                string savePath = Server.MapPath("/UploadFile/Qrcode/" + qmodel.Id + ".jpg");
                w.DownloadFile(qrcode, savePath);//指定的URL以及保存的物理路径
                w.Dispose();
            }
            return Json(msg);
        }

 

posted @ 2016-11-30 09:42  与我码农之路  阅读(347)  评论(0编辑  收藏  举报