开发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都会有二维码扫描.本篇旨在帮助有需求的同学快速完成二维 ...
随机推荐
- 正则表达式,re模块
一.正则表达式 正则表达式 : 匹配字符串,一般用于爬取数据. 正则表达式查询网址 : http://tool.chinaz.com/regex/?qq-pf-to=pcqq.group 1.元字符( ...
- 02.制作一个自己的 Java 编辑器
难度中等,适合 Java 基础扎实,对 Java 核心 API 有所熟悉的同学学习 No1.制作GUI界面 一.实验介绍 1.1 实验内容 本节课程的主要内容是准备开发环境,建立项目并完成 GUI 界 ...
- 牛客训练三:处女座和小姐姐(三)(数位dp)
题目链接:传送门 思路:数位dp的记忆化搜索模板 从高位向低位枚举,逐位确定每一位的6的个数,dp[i][s]表示处理到第i条边,状态为s时的数字的个数. 注意,要使用long long类型. #in ...
- div配景图片全div显示
<div class="face-boy" style="width:86px;height:92px;background: url('/${userProfil ...
- vs2013查看代码性能后删除保存的性能查看文件导致再打开提示未找到与约束匹配的导出
1.关闭VS: 2.删除C:/Users//AppData/Local/Microsoft/VisualStudio/12.0/ComponentModelCache文件夹下所有文件及文件夹: 3.重 ...
- Oracle中根据当前时间和活动类型去数据库查询活动id
活动类型默认是1,代表邀请好友 select * from t_invite_activityinfo twhere sysdate >= t.begintime and sysdate< ...
- idea中Eclipse Code Formatter插件设置和使用,以及注释模板的修改
在settings里面找到plugins这个选项,搜索Eclipse Code Formatter,点击安装,重启idea即可进行配置: 首先,先安装Eclipse Code Formatter插件: ...
- STS启动失败:Failed to load the JNI shared library
版本位不一致 jdk 版本 ↓ eclipse 版本(%STS_HOME%/STS.ini)
- panda
这个项目很有意思,麻雀虽小五脏俱全. 页面使用rem和media query来设置字体和元素宽高image居中需要用到position 后端mysql使用阿里云的rds:nodejs的mysql模块的 ...
- 中大 9095. Islands
9095. Islands 限制条件 时间限制: 2 秒, 内存限制: 256 兆 题目描述 Whenever it rains, Farmer John's field always ends up ...