HTML5属性--(capture="camera") 上传照片或者打开手机相机
要获取手机相机拍照或者访问相册 这里贴一个相关链接:http://blog.csdn.net/jackfrued/article/details/8967667
JSP页面代码:
<input type="file" accept="image/*" capture="camera" id="picFile" onchange="readFile(this)" style="width:30px;height:30px;opacity:0"/ >
JS代码:
function readFile(obj){
var file = obj.files[0];
//判断类型是不是图片 不难发现这个检测是基于正则表达式的,因此可以进行各种复杂的匹配,非常有用。
if(!/image\/\w+/.test(file.type)){
alert("请确保文件为图像类型");
return false;
}
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function(e){
getResultbyOCR(this.result);
}
}
function getResultbyOCR(imagesdata) {
var requestdata = {
imagesdata: imagesdata
};
$.ajax({
type: "POST",
url: getUrl() + "/vehicleInfor/getResultbyOCR.do",
data: JSON.stringify(requestdata),
// 将对象序列化成JSON字符串
dataType: "json",
beforeSend: function () {
this.layerIndex = layer.load(0, { shade: [0.5, '#393D49'],time: 60*1000});
},
contentType: 'application/json;charset=utf-8',
// 设置请求头信息
success: function(data) {
if (data.length == 0) {
layer.close(this.layerIndex);
alert("识别失败");
} else {
var outputValue = data.outputs[0].outputValue;
if (outputValue != null && "undefined" !== typeof(outputValue)) {
var datavalue = outputValue.dataValue;
if (datavalue != null && "undefined" !== typeof(datavalue)) {
datavalue = eval("(" + datavalue + ")");
var successflag = datavalue.success;
if (successflag) {
var engine_num = datavalue.engine_num;
var modelName = datavalue.model;
var owner = datavalue.owner;
var plate_num = datavalue.plate_num;
var register_date = datavalue.register_date;
var vin = datavalue.vin; $("#drvowner").val(owner);
$("#lcnno").val(plate_num);
$("#vinno").val(vin);
$("#model").val(modelName);
$("#engno").val(engine_num);
$("#registerdate").val(register_date);
layer.close(this.layerIndex);
} else {
layer.close(this.layerIndex);
alert("识别失败");
}
} else {
layer.close(this.layerIndex);
alert("识别失败");
}
} else {
layer.close(this.layerIndex);
alert("识别失败");
}
}
},
error: function(res) {
layer.close(this.layerIndex);
alert("识别失败");
}
});
}
Java代码:
@RequestMapping("/getResultbyOCR.do")
public @ResponseBody String getResultbyOCR( @RequestBody String requestData,HttpServletResponse response){
logger.info("开始识别行驶证 图片内容为 : "+requestData);
String result=vehicleInforService.getVehicleinforByOCR( requestData);
logger.info("结束识别行驶证,结果为 : "+result);
return result;
}
HTML5属性--(capture="camera") 上传照片或者打开手机相机的更多相关文章
- LocalResizeIMG前端HTML5本地压缩图片上传,兼容移动设备IOS,android
LocalResizeIMG前端HTML5本地压缩图片上传,兼容移动设备IOS,android jincon 发表于 2015-02-26 18:31:01 发表在: php开发 localresiz ...
- HTML5 图片本地压缩上传插件「localResizeIMG」
移动应用中用户往往需要上传照片,但是用户上传的照片尺寸通常很大,而手机的流量却很有限,所以在上传前对图像进行压缩是很有必要的. 原生应用可以直接对文件进行处理,网页应用就没有这个优势了.不过 canv ...
- 基于HTML5多图片Ajax上传可预览
html5多图控件<input id="fileImage" type="file" size="30" name="fil ...
- 怎么样通过php使用html5实现多文件上传?(php多图上传)
<!DOCTYPE html><html lang="zh-cn"> <head> <meta charset="utf-8&q ...
- HTML5手机端拍照上传
1.accept="image/*" capture="camera" 自动调用手机端拍照功能 accept="image/*" captu ...
- Django项目:CRM(客户关系管理系统)--61--51PerfectCRM实现CRM客户报名流程学生合同上传照片
# sales_views.py # ————————47PerfectCRM实现CRM客户报名流程———————— from django.db import IntegrityError # 主动 ...
- Iphone H5上传照片被旋转
最近做项目发现在Iphone下,我们上传图片都会被翻转,最后查阅资料发现,的确是IOS的问题 不说过程,直接解决方法 iOS下,html方式使用<input type="file&qu ...
- html5 文件拖拽上传
本文首先发表在 码蜂笔记 : http://coderbee.net/index.php/web/20130703/266 html5 文件拖拽上传是个老话题了,网上有很多例子,我一开始的代码也是网 ...
- 深入研究HTML5实现图片压缩上传
上篇文章中提到移动端上传图片,我们知道现在流量还是挺贵的,手机的像素是越来越高,拍个照动不动就是好几M,伤不起.虽然客户端可以轻轻松松实现图片压缩再上传,但是我们的应用还可能在浏览器里面打开,怎么办呢 ...
随机推荐
- C#结合Jquery LigerUI Tree插件构造树
Jquery LigerUI Tree是Jquery LigerUI()的插件之一,使用它可以快速的构建树形菜单.呵呵 废话不说了,直入正题,下面介绍C#结合ligerui 构造树形菜单的两种方法 1 ...
- js判断鼠标是否停止移动
本程序实现当鼠标在一个特定的div内悬停n秒时,判断出已经停止移动. 思路: 1.定义全局变量鼠标移动状态imouse,定时器timer.当鼠标在div内移动时,imouse值为1,相反静止时值为0: ...
- 在本地windows机器上安装SecureCRT客户端
一.SecureCRT客户端介绍. SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件. SecureCRT支持 ...
- python基础(八)面向对象的基本概念
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 谢谢逆水寒龙,topmad和Liqing纠错 Python使用类(class)和对 ...
- Python基础中所出现的异常报错总结
今天我们来探索python中大部分的异常报错 首先异常是什么,异常白话解释就是不正常,程序里面一般是指程序员输入的格式不规范,或者需求的参数类型不对应,不全等等. 打个比方很多公司年终送苹果笔记本,你 ...
- android 拔打电话功能
private void phoneCall(String num) { String phoneNum = "tel:" + num; Uri smsToUri = Uri.pa ...
- commons-math使用
apache commons-math提供了一些常用的数学运算,包括初等数学.高等数学.线性代数.数理统计等方面的.猛击下面的链接查看其相关使用方法 Commons Math学习笔记 http://w ...
- 【转】What is an SDET? Part 2 – Skill Matrix of SDET
What is an SDET? Part 2 ---- Skill Matrix of SDET (Instead of naming it as part 2 of What is an SDET ...
- centos 6.6 使用tomcat6部署solr5.3.1
Solr现在是一个独立的服务器. 从Solr5.0开始,Solr不再发布为在任何Servlet容器中部署的“war”Web应用程序包(Web Application Archive).网上关于solr ...
- 我的第一篇博客/markdown
开通了博客园 使用markdowm Q:为什么考虑使用markdowm而非别的编辑器? 首先,markdowm的优点就不说了, 我是通过http://sspai.com/25137了解了markdow ...