开发ASP.NET MVC 开发名片二维码生成工具 (原创)
在网上找了很多,都只能生成网址,不能生成名片二维码,于是自己动手。
第一步,写视图界面,主要代码如下:
<script type="text/javascript">
function SubmitURL() {
$("#frmMakeQrURLCode").submit();
}
function SubmitQrCode() {
$("#frmMakeQrCode").submit();
}
</script> <div class="jumbotron">
<h1>名片二维码工具</h1>
<p class="lead">
<form id="frmMakeQrCode" action="/Home/MakeQrCode" method="post">
<table border="">
<tbody><tr>
<th colspan="">名片二维码信息</th>
</tr>
<tr>
<td>姓名:</td>
<td><input type="text" id="txtUsername" name="Username"></td>
</tr>
<tr>
<td>电话号码:</td>
<td><input type="text" id="txtPhone" name="Phone"></td>
<td colspan=""><input type="button" id="btnSubmit" value="生成名片二维码" onclick="SubmitQrCode()"></td>
</tr>
</tbody></table>
</form>
</p>
</div>
第二步,写控制器,处理form的post请求。主要是处理vcard的字符串和生成png图片。主要代码:
[HttpPost]
public ActionResult MakeQrCode()
{
string username = Request.Form["Username"];
string phone = Request.Form["Phone"]; StringBuilder Vcard = new StringBuilder(); Vcard.Append("BEGIN:VCARD");
Vcard.Append("FN:").Append(username).Append(";");
Vcard.Append("ORG:").Append("CVTE").Append(";");
Vcard.Append("TEL;WORK;VOICE:").Append(phone).Append(";");
//Vcard.Append("TEL;TYPE=VOICE,WORK;VALUE=text:").Append(phone).Append(";");
Vcard.Append("END:VCARD");
//结束 //这样写也可以
StringBuilder Vcard1 = new StringBuilder();
Vcard1.Append("BEGIN:VCARD");
Vcard1.Append(System.Environment.NewLine);
Vcard1.Append("VERSION:3.0") ;
Vcard1.Append(System.Environment.NewLine);
Vcard1.Append("FN:" + username) ;
//Vcard1.Append("TEL;WORK;VOICE:" + phone );
Vcard1.Append(System.Environment.NewLine);
Vcard1.Append("TEL;TYPE=VOICE,WORK;VALUE=text:" + phone) ;
Vcard1.Append(System.Environment.NewLine);
Vcard1.Append("ORG:CVTE") ;
Vcard1.Append(System.Environment.NewLine);
Vcard1.Append("END:VCARD");
//string vcard = @"BEGIN:VCARD" + System.Environment.NewLine + "VERSION:3.0" + System.Environment.NewLine + "FN:" + username + "CVTE" + System.Environment.NewLine + "TEL;TYPE=VOICE,WORK;VALUE=text:" + phone + "" + System.Environment.NewLine + "END:VCARD";
//string imageUrl = string.Format(@"<img src=""/Home/BarcodeImage?barcodeText={0}"" />",Server.HtmlEncode( vcard) );
string imageUrl = string.Format(@"<img src=""/Home/BarcodeImage?barcodeText={0}"" />", Server.HtmlEncode(Vcard.ToString()));
return BarcodeImage(Vcard1.ToString()); } [HttpPost]
public MvcHtmlString MakeQrURLCode()
{ string url = Request.Form["URL"]; string imageUrl = "<img src=\"/Home/BarcodeImage?barcodeText=" + url + "\"/>"; return new MvcHtmlString(imageUrl);
} public ActionResult BarcodeImage(String barcodeText)
{
QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H);
QrCode qrCode = new QrCode();
qrEncoder.TryEncode(barcodeText, out qrCode);
GraphicsRenderer renderer = new GraphicsRenderer(new FixedModuleSize(, QuietZoneModules.Four), Brushes.Black, Brushes.White); Stream memoryStream = new MemoryStream();
renderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, memoryStream);
memoryStream.Position = ; var resultStream = new FileStreamResult(memoryStream, "image/png");
resultStream.FileDownloadName = "cvteQR.png"; return resultStream;
}
完整代码下载: Code download
开发ASP.NET MVC 开发名片二维码生成工具 (原创)的更多相关文章
- 网站开发进阶(十四)JS实现二维码生成
JS实现二维码生成 绪 项目开发原语:已然花费半天的时间,仍旧未能将二维码显示在订单中.但是可以在单个页面中显示二维码,结合到angularjs的控制器中就失效了,自己是真的找不到其中的原因了.费解! ...
- asp.net mvc PC端二维码支付实例(微信二维码支付)
一.微信支付方式介绍 微信提供了各种支付方式,试用于各种不同的支付场景,主要有如下几种: 1.刷卡支付 刷卡支付是用户展示微信钱包内的“刷卡条码/二维码”给商户系统扫描后直接完成支付的模式.主要应用线 ...
- vue项目条形码和二维码生成工具试用
项目开发需要,优惠券分不同类型,简单的使用id生成条形码供店铺使用,麻烦点的需要多个字段的就需要使用二维码来展示了,对应的效果如下 条形码(一维码)使用工具code128 需引入code128.js ...
- 谷歌zxing 二维码生成工具
一.加入maven依赖 <!-- 谷歌zxing 二维码 --> <dependency> <groupId>com.google.zxing</groupI ...
- 二维码生成工具类java版
注意:这里我不提供所需jar包的路径,我会把所有引用的jar包显示出来,大家自行Google package com.net.util; import java.awt.BasicStroke; im ...
- Java 二维码生成工具类
/** * 二维码 工具 * * @author Rubekid * */ public class QRcodeUtils { /** * 默认version */ public static fi ...
- java二维码生成工具
import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.ut ...
- 二维码生成工具——QRCode
下载QRCode的源代码:https://github.com/davidshimjs/qrcodejs 引入项目中:<script type="text/javascript&quo ...
- Android开发——Android中的二维码生成与扫描
0. 前言 今天这篇文章主要描述二维码的生成与扫描,使用目前流行的Zxing,为什么要讲二维码,因为二维码太普遍了,随便一个Android APP都会有二维码扫描.本篇旨在帮助有需求的同学快速完成二维 ...
随机推荐
- 2018.11.24 poj1743Musical Theme(二分答案+后缀数组)
传送门 代码: 二分答案. 然后对于预处理的heightheightheight数组分成几段. 保证每一段中都是连续的几个heightheightheight并且这些heightheightheigh ...
- GK888CN与Devexpress报表打印标签
安装海鸥驱动,貌似打几张也会报错 使用打印机自带的gk888t驱动,用gk888t(EPL)打带二纬码时会报错 需要选择Togther, xrLable 运行 CanShrink
- vba遗传算法之非一致性突变
http://www.docin.com/p-959323141-f4.html Sub 非一致性变异() Dim totalGenerate As Integer, currentGenerate ...
- C#的委托与Java的自定义接口的异曲同工的同步操作
C#的委托(以WinForm为例) 在子窗体(ChildFrm)中定义一个委托 this.CaptureListener(callback);//子窗体触发委托事件,以告诉调用的窗体 /// < ...
- WordPaster-HDwik5.0整合教程
示例下载:http://yunpan.cn/Q9ufQGuFMK34r 1.上传WordPaster文件夹 2.上传upload.php文件,这个文件负责接收控件上传的图片,并保存到uploads文件 ...
- TypeError: c is null
找到相应的js报错地方..添加判断条件 if(styles == null) { return ''; }
- 20145232 韩文浩 《Java程序设计》第4周学习总结
教材学习内容总结 · Chapter 继承与多态 继承:避免多个类间重复定义共同行为.继承可以理解为一个对象从另一个对象获取属性的过程. 所有Java的类均是由java.lang.Object类继承而 ...
- Fortran编译器之一GUN Fortran安装(Windows XP)
最近研究GIS算法,需要用到Fortran语言.在网上找了一下发现一个开源的软件GUN Fortran编译器.当然既然是编译器,就是编译出程序的,但是编辑器不包括在内.编辑器可以用Text记事本,或者 ...
- Installing Apache Hadoop Single Node
转载请注明出处:http://www.cnblogs.com/wubdut/p/4681286.html platform: Ubuntu 14.04 LTS hadoop 1.2.1 1. inst ...
- hdu 4282 枚举,非二分
http://acm.hdu.edu.cn/showproblem.php?pid=4282 对于方程X^Z + Y^Z + XYZ = K,已知K求此方程解的个数,其中要求X<Y,Z>1 ...