Index.cshtml

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>身份证图像识别</title>
<script type="text/javascript" src="~/Scripts/jquery-1.9.0.min.js"></script>
<script src="~/Scripts/ajaxfileupload.js" type="text/javascript"></script> <script type="text/javascript">
function ajaxFileUpload(e) {
var files = $('input[name="FileUpload"]').prop('files');//获取到文件列表
if (files.length == 0) {
alert('请选择文件');
return;
}
$.ajaxFileUpload(
{
url: '/People/IDCodeOcr', //请求地址
secureuri: false,
fileElementId: 'FileUpload', //上传文件控件ID
dataType: 'text', //可以是json这里的格式
success: function (data)
{
$("#Status").html('执行结束');
var obj = $.parseJSON(data);
if (obj.length > 0) {
var people = $.parseJSON(obj[0]);
$("#Name").html(people.name);
$("#Address").html(people.address);
$("#Birth").html(people.birth);
$("#ID").html(people.id);
$("#Sex").html(people.sex);
$("#Nation").html(people.nation);
$("#Authority").html(people.authority);
$("#ValidDate").html(people.valid_date);
}
},
error: function (data, status, e)
{
alert("验证失败,请上传身份证照片!");
}
}
);
}
</script>
</head> <body>
<input type="file" name="FileUpload" ID="FileUpload" onchange="javascript:ajaxFileUpload();" />
<table border="1">
<tr>
<td><span id="Status">等待执行:</span></td>
<td>***************************************</td>
</tr>
<tr>
<td><span>姓名:</span></td>
<td><span id="Name"></span></td>
</tr>
<tr>
<td><span>家庭住址:</span></td>
<td><span id="Address"></span></td>
</tr>
<tr>
<td><span>生日:</span></td>
<td><span id="Birth"></span></td>
</tr>
<tr>
<td><span>身份证号码:</span></td>
<td><span id="ID"></span></td>
</tr>
<tr>
<td><span>性别:</span></td>
<td><span id="Sex"></span></td>
</tr>
<tr>
<td><span>签发机关:</span></td>
<td><span id="Authority"></span></td>
</tr>
<tr>
<td><span>有效期限:</span></td>
<td><span id="ValidDate"></span></td>
</tr>
</table>
</body>
</html>

PeopleController.cs

using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Security.Cryptography;
using System.Web;
using System.Web.Mvc;
using TencentYoutuYun.SDK.Csharp; namespace MVCPeopleInfoByIDCard.Controllers
{
public class PeopleController : Controller
{
// GET: People
public ActionResult Index()
{
return View();
} public JsonResult IDCodeOcr()
{
// 获取上传图片
HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;
if (files.Count == )
{
return Json("Faild", JsonRequestBehavior.AllowGet);
} HttpPostedFile file = files[];
MD5 md5Hasher = new MD5CryptoServiceProvider();
byte[] arrbytHashValue = md5Hasher.ComputeHash(file.InputStream);
string fileName = BitConverter.ToString(arrbytHashValue).Replace("-", "");
string fileEextension = Path.GetExtension(files[].FileName);
string virtualPath = string.Format("/ComponentAttachments/{0}/{1}{2}", DateTime.Now.ToString("yyyyMMdd"), fileName, fileEextension);// /ComponentAttachments/20191218/F89624059F0C103433331D9D14E51581.jpg
string filePath = Server.MapPath(virtualPath); string dir = Path.GetDirectoryName(filePath);
if (!Directory.Exists(dir)) Directory.CreateDirectory(dir);
if (!System.IO.File.Exists(filePath)) file.SaveAs(filePath); List<string> results = new List<string>();
//
// 身份证识别dll
OCR ocr = new OCR(filePath, );
JsonConvert.SerializeObject(ocr);
results.Add(ocr.result);
var obj = Json(results, "text/html", JsonRequestBehavior.AllowGet);
return obj;
}
}
}

最新文章

  1. 【C#】【Thread】Semaphore/SemaphoreSlim信号量
  2. zaqar项目介绍
  3. MapReduce中的作业调度
  4. 一步一步学android控件(之十六)—— CheckBox
  5. 安装Win7和Ubuntu12.04双系统后,意外删除Ubuntu12.04引导文件,出现error:unknown filesystem;grub rescue&gt;错误的解决方案
  6. CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡【转】
  7. 滴滴专车司机苹果手机ios客户端可以下载了
  8. ActionScript GifPlayer的修改
  9. Windows下将ImageMagick移植到Android平台
  10. rpm包
  11. LeetCode第七天
  12. 【Teradata SQL】使用SQL将多个逗号分隔改为一个逗号分隔
  13. [20170825]11G备库启用DRCP连接3.txt
  14. openssl实现CA自签证书和颁发数字证书
  15. c#测试执行时间的方法
  16. 新买的mac笔记本,发现vi编辑器没有颜色的解决方案
  17. ubuntu17.10 安装CUDA
  18. 对自写的Asp.Net分页控件的应用方式(异步无刷新分页)
  19. R1(下)—数据挖掘—关联规则理论介绍与R实现
  20. vps上搭建jupyter notebook远程服务

热门文章

  1. vue-awesome-swiper中的数据异步加载
  2. 简单的LNMP安全加固
  3. React Native适配IPhoneX系列设备之&lt;SafeAreaView /&gt;
  4. Python语法速查: 4. 字符串常用操作
  5. 对于Python语音性能的一些个人见解
  6. 机器学习--K近邻 (KNN)算法的原理及优缺点
  7. 算法问题实战策略 CHILDRENDAY
  8. Java流程控制之顺序结构
  9. Codeforces Round #603 (Div. 2) A. Sweet Problem 水题
  10. 描述符(__get__和__set__和__delete__)