互联网的时代,一时一刻都没有停止过,一直都在进步,随着社会的需要,科技的发展。各个方面的各个岗位的需要,没有什么技术实现不了的。为了更便捷、服务的时代。一切达到简便、快捷、易上手。例如 :“中国建设银行校园缴费平台”。PC端缴费、微信公众号缴费都是太拘束了。客户说 :我就想要跟他差不多的,各个商户生成自己的一个二维码,如果客户用微信扫一扫默认就是微信支付、用支付宝扫默认就是支付宝支付、用浏览器扫 到支付那一页了下面列表可以选择支付宝、微信、银联、等等各个通道支付。   嗯  听着是可以满足客户需求的  但  但 可能花点时间

整理整理思路 ,想倒是想的挺简单挺美好来着,但是到某一步也许就卡的一下,无论怎么样 一切都是能解决滴 ,没有什么能够阻挡 。。。

创建生成连接二维码

(1).可以放到公共的类里啦

  public class QRCodeHandler{/// <summary>/// 创建生成二维码/// </summary>/// <param name="Dz">跳转连接地址</param>/// <param name="Tp">中间显示的Logo</param>/// <returns></returns>///   也可以是Image 类型public static byte[] CreateQRcode(string Dz, string Tp){QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;//二维码编码(Byte、AlphaNumeric、Numeric)qrCodeEncoder.QRCodeScale = 4;//二维码尺寸(Version为0时,1:26x26,每加1宽和高各加25qrCodeEncoder.QRCodeVersion = 8;//二维码密集度0-40qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;//二维码纠错能力(L:7% M:15% Q:25% H:30%)Image card = qrCodeEncoder.Encode(Dz, Encoding.UTF8);System.IO.MemoryStream MStream = new System.IO.MemoryStream();card.Save(MStream, System.Drawing.Imaging.ImageFormat.Png);System.IO.MemoryStream MStream1 = new System.IO.MemoryStream();CombinImage(card, Tp).Save(MStream1, System.Drawing.Imaging.ImageFormat.Png);MStream.Dispose();MStream1.Dispose();MemoryStream ms = new MemoryStream();card.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);//return card;  Image类型的时候返回return ms.ToArray(); //返回 byte[]类型
}/// <summary>   /// 调用此函数后使此两种图片合并,类似相册,有个   /// 背景图,中间贴自己的目标图片   /// </summary>   /// <param name="imgBack">粘贴的源图片</param>   /// <param name="destImg">粘贴的目标图片</param>   public static Image CombinImage(Image imgBack, string destImg){Image img = Image.FromFile(destImg);        //照片图片     if (img.Height != 65 || img.Width != 65){img = KiResizeImage(img, 65, 65, 0);}Graphics g = Graphics.FromImage(imgBack);g.DrawImage(imgBack, 0, 0, imgBack.Width, imgBack.Height); 

View Code

(2).前端调用后台生成商户需要的连接地址二维码,EWMWxItem中的w、h 是设置二维码里面logo的宽高

   //页面
<ul class="ui-list ui-list-one ui-list-link ui-border-tb">@foreach (var m in Model.sources){var url = Url.Action("WxItem", new { id = m.ID });<li class="ui-border-t"><a class="ui-list-info" href="@url"><h4 class="ui-nowrap">@m.MC</h4><img src="@Url.Action("EWMWxItem", "Home", new { id = m.ID, logo = m.Logo, dz= url })" /><div class="ui-txt-info"></div></a></li>}</ul>//后台[Description("获取二维码")]public ActionResult EWMWxItem(int id, string logo, string dz, int? w, int? h){try{w = 50; h = 50;if (string.IsNullOrWhiteSpace(logo))return HttpNotFound();logo = logo.Replace("../", "");var t = "~/" + logo;var logourl = Server.MapPath(t);var startIndex = logourl.LastIndexOf('.');List<string> exs = new List<string> { ".JPG", ".JPEG", ".PNG", ".GIF", ".ICO", ".BMP" };if (w.HasValue || h.HasValue){var tp = string.Format("{0}.{1}_{2}.jpg", logourl, w, h);if (!System.IO.File.Exists(tp)){Db.Charge.FileHelper.PicFile.MakeThumbnail(logourl, tp, w, h);}logourl = tp;}//二维码跳转的连接地址var Url = Request.Url.Scheme + "://" + Request.Url.Authority + dz;var EWMLogo = QRCodeHandler.CreateQRcode(Url, logourl);return File(EWMLogo, @"image/jpeg");}catch (Exception ex){Db.Charge.LogHelper.WriteLogs.LogN("EWMWxItem", ex.ToString());return HttpNotFound();}}

View Code

如果二维码返回 Image类型,后台可以这样处理

        // Image类型public class ImageResult : ActionResult{public ImageResult() { }public Image Image { get; set; }public ImageFormat ImageFormat { get; set; }public override void ExecuteResult(ControllerContext context){// 验证属性if (Image == null){throw new ArgumentNullException("Image");}if (ImageFormat == null){throw new ArgumentNullException("ImageFormat");}//输出
                context.HttpContext.Response.Clear();if (ImageFormat.Equals(ImageFormat.Bmp)) context.HttpContext.Response.ContentType = "image/bmp";if (ImageFormat.Equals(ImageFormat.Gif)) context.HttpContext.Response.ContentType = "image/gif";if (ImageFormat.Equals(ImageFormat.Icon)) context.HttpContext.Response.ContentType = "image/vnd.microsoft.icon";if (ImageFormat.Equals(ImageFormat.Jpeg)) context.HttpContext.Response.ContentType = "image/jpeg";if (ImageFormat.Equals(ImageFormat.Png)) context.HttpContext.Response.ContentType = "image/png";if (ImageFormat.Equals(ImageFormat.Tiff)) context.HttpContext.Response.ContentType = "image/tiff";if (ImageFormat.Equals(ImageFormat.Wmf)) context.HttpContext.Response.ContentType = "image/wmf";Image.Save(context.HttpContext.Response.OutputStream, ImageFormat);}}public ActionResult EWMWxItem(int id, string logo, string dz, int? w, int? h){//二维码跳转的连接地址var Url = Request.Url.Scheme + "://" + Request.Url.Authority + dz;var EWMLogo = QRCodeHandler.CreateQRcode(Url, logo);return new ImageResult(){Image = EWMLogo,ImageFormat = System.Drawing.Imaging.ImageFormat.Jpeg};}

View Code

看前台页面需要什么类型的数据显示,无论是哪个类型的 都可以显示在页面。

哇 ~    显示出来了耶 ,但  但是 这个图片 有点大啊,咦  不管了 先扫一下吧  哈哈哈 跳到了

转载于:https://www.cnblogs.com/BabyRui/p/11586754.html

便捷缴费 支付 (一)相关推荐

  1. 刷脸支付降本增效更快更便捷的支付体验

    随着互联网产业的不断发展,线下实体零售企业经历了巨大的技术革命.从线上推广到线下体验,从线下体验到线上挽留,零售企业通过不断进化的新工具打破了服务边界,更好地实现了社会资源的协同.构建了一个庞大的.人 ...

  2. 支付,造就金融科技生态契机——保险科技生态建设...

    未来的商业形态,必定是距离交易越近的越有价值? 以下是数字化转型的分享线路图,您现在所在的位置为序号的分享:生态圈建设. 以下是正文: 这一节主要造就金融科技契机的能力:支付.是什么造就了金融科技生态 ...

  3. 第三方支付线上产品分析

    第三方支付线上有哪些产品:网关支付,快捷支付,协议代付,API代付,代扣,微信/支付宝支付等,商业银行的态度可谓几经转变.在第三方支付发展初期,银行愿意与之合作共同开拓电子商务市场,毕竟可以促进银行卡 ...

  4. 第三方移动支付类产品竞品分析:支付宝VS微信支付VS云闪付

    第三方移动支付类产品竞品分析:支付宝VS微信支付VS云闪付 文章目录 第三方移动支付类产品竞品分析:支付宝VS微信支付VS云闪付 一.分析背景与竞品选择 1.竞品分析目的 2.行业研究与市场趋势分析 ...

  5. “支付清算”之信息流与资金流

    本文由作者 小狼Man 于社区发布 "支付又称付出.付给,多指付款,是发生在购买者和销售者之间的金融交换,是社会经济活动所引起的货币债权转移的过程.支付包括交易.清算和结算." 从 ...

  6. 分享2020年线上支付接口产品讲解

    但随着第三方支付的快速发展,其免费模式及存在的套现漏洞.运营模式由支付渠道转向掌握客户资源的消费渠道更使得银行担心在市场做大的同时却为他人做了嫁衣,银行开始对银行卡网上支付做出限制.这仅仅只能缓解一时 ...

  7. 践行支付为民 线上支付开通ETC线上申卡、支付

    中国,已连续多年成为世界机动车产销第一大国.2018年,全国机动车保有量达3.27亿辆,机动车驾驶人达4.09亿人,平均每三人中就有一名驾驶人.在巨大的交通市场下,以智能支付贯穿各个细分领域,为车主带 ...

  8. 微信支付与支付宝钱包的竞争分析

    微信支付与支付宝钱包的竞争分析 NO1: 十九世纪七十年代起,"物竞天择,适者生存,优胜劣汰"已逐渐成为现代生物学的口号.而今,不知不觉中,它似乎也成了当代社会学的口号.罗素说:& ...

  9. 支付,造就金融科技生态契机——保险科技生态建设

    未来的商业形态,必定是距离交易越近的越有价值? 以下是数字化转型的分享线路图,您现在所在的位置为序号的分享:生态圈建设. 以下是正文: 这一节主要造就金融科技契机的能力:支付.是什么造就了金融科技生态 ...

  10. 场景化与电子支付的密切关系

    二.场景化是移动互联时代支付发展的趋势 移动互联时代,支付与场景结合更加紧密.场景是多样的,这就使得支付行为变得越来越"短平快",更加碎片化.在移动互联网时代,用户的所有行为,包括 ...

最新文章

  1. 使用Scala-IDE构建Maven项目
  2. POJ 3264 Balanced Lineup
  3. 磁盘阵列介绍、进程的查看管理、日志文件的查看分析,systemctl的控制
  4. 野指针和悬空指针的形成原因和如何避免!
  5. 低功耗无线模块超远距离无线传输实现中继的方法
  6. pandownload用户未登录_Pandownload再度复活,下载速度飙升到10MB/s以上
  7. 速查mysql数据大小
  8. MYSQL Too many connections错误的解决办法
  9. RemoteDesktopManager和微软远程桌面管理器RDCman
  10. 面向接口编程与面向实现编程
  11. 磁珠 符号_史上最全面的磁珠知识大全
  12. BSB网络验证 易语言网络验证系统 autojs 网络验证系统 免费的卡密收费系统 账号注册系统
  13. html设置label的字体大小,swift - label 的font 设置 文字字体和大小
  14. EE308_lab1-2
  15. vant框架van-field
  16. linux分析测序数据,[转]如何分析测序结果
  17. python signal处理
  18. Vertu手机决定采用Android系统
  19. coids+pika集群 问题小记
  20. 物联网设备数据流转之数据如何实时推送至前端:WebSocket前端接收

热门文章

  1. Linux OOM killer(转)
  2. 父子id mysql,一道关于数据库(经典父子级 ID 关联)更新题
  3. 信息系统安全期末复习笔记
  4. xshell xftp下载
  5. python 使用selenium下载文件时,chrome会提示是否下载多个文件(Download multiple files)
  6. 通过 JavaMail 访问 Hotmail 邮箱(hotmail不提供smtp和pop3服务)
  7. shader三种变量类型(uniform,attribute和varying)
  8. ChemDraw使用不了怎么办
  9. 宝塔面板本地调试网站提示域名解析错误的问题
  10. Linux常见英文翻译