开发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都会有二维码扫描.本篇旨在帮助有需求的同学快速完成二维 ...
随机推荐
- 24、JSON与OC互相转化
一. JSON: 1. 01.JSON是一种轻量级的数据格式,一般用于数据交互 02.服务器返回给客户端的数据,一般都是JSON格式活着XML格式(文件下载除外) JSON的格式很像OC中的字典和数组 ...
- 字符串算法hash
思路:给字符串做一个映射,两个元素相同,则他们的hash值必定相同. 注意:hash表必须是unsigned int类型,保证每个映射都是正数. 例题: Description 给出两个字符串W和T, ...
- adb 相关命令 以及无法adb识别设备的解决方法
[自己解决方法] 在-/.android/文件夹下面新建adb_usb.ini文件.里面写入设备的idVendor号(0x加上四位数字),然后输入 adb kill-server, 然后adb dev ...
- idea中Eclipse Code Formatter插件设置和使用,以及注释模板的修改
在settings里面找到plugins这个选项,搜索Eclipse Code Formatter,点击安装,重启idea即可进行配置: 首先,先安装Eclipse Code Formatter插件: ...
- UVa 11762 Race to 1 (数学期望 + 记忆化搜索)
题意:给定一个整数 n ,然后你要把它变成 1,变换操作就是随机从小于等于 n 的素数中选一个p,如果这个数是 n 的约数,那么就可以变成 n/p,否则还是本身,问你把它变成 1 的数学期望是多少. ...
- C#的委托与Java的自定义接口的异曲同工的同步操作
C#的委托(以WinForm为例) 在子窗体(ChildFrm)中定义一个委托 this.CaptureListener(callback);//子窗体触发委托事件,以告诉调用的窗体 /// < ...
- 高性能高可用的分布式唯一ID服务——mooon-uniq-id
目录 目录 1 1. 前言 1 2. 名词 1 3. 功能 1 4. 唯一性原理 2 5. 系统结构 2 5.1. mooon-uniq-agent 2 5.2. mooon-uniq-master ...
- android textview支持多种格式跳转
http://www.linuxidc.com/Linux/2011-08/40530p2.htm 1.android:autoLink属性,使TextView中链接手机号码/网页/邮件/地图 and ...
- ZUFE2486 Heap 2017-05-31 14:37 41人阅读 评论(0) 收藏
2486: Heap 时间限制: 2 Sec 内存限制: 128 MB 提交: 16 解决: 5 [提交][状态][讨论版] 题目描述 有n个非负整数,a1,a2,a3.....an. 有Q次询问 ...
- LigerUi中为Grid表加上序号,并调整适当宽度!(实例)
LigerUi中为Grid表加上序号,并调整适当宽度!(实例) dataAction: 'server', pageSize: 20, toolbar: {}, url: 'ndl ...