要获取手机相机拍照或者访问相册    这里贴一个相关链接: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") 上传照片或者打开手机相机的更多相关文章

  1. LocalResizeIMG前端HTML5本地压缩图片上传,兼容移动设备IOS,android

    LocalResizeIMG前端HTML5本地压缩图片上传,兼容移动设备IOS,android jincon 发表于 2015-02-26 18:31:01 发表在: php开发 localresiz ...

  2. HTML5 图片本地压缩上传插件「localResizeIMG」

    移动应用中用户往往需要上传照片,但是用户上传的照片尺寸通常很大,而手机的流量却很有限,所以在上传前对图像进行压缩是很有必要的. 原生应用可以直接对文件进行处理,网页应用就没有这个优势了.不过 canv ...

  3. 基于HTML5多图片Ajax上传可预览

    html5多图控件<input id="fileImage" type="file" size="30" name="fil ...

  4. 怎么样通过php使用html5实现多文件上传?(php多图上传)

    <!DOCTYPE html><html lang="zh-cn"> <head> <meta charset="utf-8&q ...

  5. HTML5手机端拍照上传

    1.accept="image/*" capture="camera" 自动调用手机端拍照功能 accept="image/*" captu ...

  6. Django项目:CRM(客户关系管理系统)--61--51PerfectCRM实现CRM客户报名流程学生合同上传照片

    # sales_views.py # ————————47PerfectCRM实现CRM客户报名流程———————— from django.db import IntegrityError # 主动 ...

  7. Iphone H5上传照片被旋转

    最近做项目发现在Iphone下,我们上传图片都会被翻转,最后查阅资料发现,的确是IOS的问题 不说过程,直接解决方法 iOS下,html方式使用<input type="file&qu ...

  8. html5 文件拖拽上传

    本文首先发表在  码蜂笔记 : http://coderbee.net/index.php/web/20130703/266 html5 文件拖拽上传是个老话题了,网上有很多例子,我一开始的代码也是网 ...

  9. 深入研究HTML5实现图片压缩上传

    上篇文章中提到移动端上传图片,我们知道现在流量还是挺贵的,手机的像素是越来越高,拍个照动不动就是好几M,伤不起.虽然客户端可以轻轻松松实现图片压缩再上传,但是我们的应用还可能在浏览器里面打开,怎么办呢 ...

随机推荐

  1. NetSuite Chinese Finance Reports

    NetSuite has a strong report customization application. The standard finance reports has a different ...

  2. 从头开始构建LINUX [LFS 脚本]

    脚本共享在这 http://pan.baidu.com/s/1nt6yiH7 version-check.sh : 这个是检查HOST机器的软件依赖情况 host-dep.sh:针对ubuntu10_ ...

  3. [C#6] 0-概览

    1. C#6 新特性图谱 C#6的新特性主要由编译器(“Roslyn”)带来,并不依赖CLR和.NET Framework的升级,我们可以认为这个版本的新语言特性的主要目的为了简化代码书写方式,让我们 ...

  4. vim linux下查找显示^M并且删除

    linux下 ^M的输入方法是ctrl+v然后再ctrl+m vim下在文件中显示^M:e ++ff=unix % 在文件中删除^M:%s/^M$//g 在linux下查找^Mfind ./ | xa ...

  5. 深入解析Windows操作系统笔记——CH2系统结构

    2.系统结构 本章主要介绍系统的总体结构,关键部件之间的交互,以及运行在什么环境. 2.系统结构 2.1 需求和设计目标 2.2 操作系统模型 2.3 总体结构 2.3.1 可移植性 2.3.2 对称 ...

  6. Java虚拟机栈

    Java Virtual Machine Stacks,线程私有,生命周期与线程相同,描述的是Java方法执行的内存模型:每一个方法执行的同时都会创建一个栈帧(Stack Frame),由于存储局部变 ...

  7. 浅谈iptables防SYN Flood攻击和CC攻击

    ------------------------本文为自己实践所总结,概念性的东西不全,这里粗劣提下而已,网上很多,本文主要说下目前较流行的syn洪水攻击和cc攻击------------------ ...

  8. mysql-7 数据检索(5)

    联结(join) SQL最强大的功能之一就是能在数据检索查询的执行中联结(join)表.联结就是利用SQL的SELECT能执行的最重要的操作. 例子:此例子包含两个表,一个表是vendors , ve ...

  9. GL.IssuePluginEvent 发布插件事件

    Description 描述 Send a user-defined event to a native code plugin. 发送一个用户定义的事件到一个本地代码插件. Rendering in ...

  10. shell生成指定范围内的随机数

    #!/bin/bash read -p "请输入起始数:" min read -p "请输入终止数:" max if [ $min -gt $max ] the ...