html调用摄像头拍照,并生成预览
2014-10-21 16:20
726 查看
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <title>签到页面</title> <meta http-equiv="Content-Type" content="text/html;charset=gb2312" /> <script type="text/javascript" src="js/jquery.min.js"></script> <script type="text/javascript"> function takephoto(){ $('#photo').click(); } </script> </head> <body> <table style="width: 100%"> <tr> <td style="width: 12%">现场照片:</td> <td style="width: 8%"><img src="about:blank" alt="" id="show-picture" width="150px;"height="150px;"></td> <td><button onclick="takephoto()">拍照</button></td> </tr> </table> <form action="upload" method="POST" enctype="multipart/form-data"> <table style="width: 100%"> <tr> <td style="width: 12%"> <input type="file" accept="image/*" capture="camera" id="photo" name="photo" style="display: none;"/> </td> <td></td> </tr> <tr> <td>现场类型:</td> <td><input type="text" value="考勤" style="width: 99%" disabled="disabled"></td> </tr> <tr> <td>记录反馈:</td> <td><textarea rows="3" id="remark" name="remark" style="width: 99%"></textarea></td> </tr> <tr> <td colspan="2"><input id="btn" type="submit" value="签到" style="width: 20%; height: 30px;"/></td> </tr> </table> </form> </body> <script type="text/javascript"> (function () { var takePicture = document.querySelector("#photo"), showPicture = document.querySelector("#show-picture"); if (takePicture && showPicture) { takePicture.onchange = function (event) { var files = event.target.files, file; if (files && files.length > 0) { file = files[0]; try { var URL = window.URL || window.webkitURL; var imgURL = URL.createObjectURL(file); showPicture.src = imgURL; URL.revokeObjectURL(imgURL); } catch (e) { try { var fileReader = new FileReader(); fileReader.onload = function (event) { showPicture.src = event.target.result; }; fileReader.readAsDataURL(file); } catch (e) { var error = document.querySelector("#error"); if (error) { error.innerHTML = "Neither createObjectURL or FileReader are supported"; } } } } }; } })(); </script> </html>
参考内容:http://blog.jianchihu.net/talking-about-the-html5-camera-api.html
在手机或ipad上可以使用,点击拍照按钮可以调用摄像头,拍摄完成后能生成预览。
在电脑上,用360浏览器和火狐浏览器同样能生成预览,谷歌浏览器无法生成预览。点击拍照按钮会打开文件选择器。
在后台可通过FileUpload获取到照片。
另外,最后那段js代码必须放在下面才能生效,否则takePicture和showPicture会为null
相关文章推荐
- HTML 5调用摄像头并进行拍照
- HTML之调用摄像头实现拍照和摄像功能
- android调用摄像头偷拍demo 无声 无预览 一件拍照存储
- html页面通过ActiveX控件调用摄像头实现拍照上传demo代码下载
- HTML 5调用摄像头并进行拍照 (测试火狐能行)
- Html调用摄像头并拍照
- Ant中批量调用TestNG的XML文件,并调用TestNgXlst生成漂亮的html测试报告
- 主题:android调用系统摄像头拍照图片和视频
- 通过调用系统摄像头拍照,拍视频,然后写入文件的
- 教你如何用Silverlight调用摄像头和麦克风,拍照,保存照片
- 调用相机图片拍照生成图片并加水印(非获得缩略图)
- jsp调用摄像头拍照,控制摄像头操作
- Windows phone 7 调用摄像头拍照 获取照片
- 通过ajax调用php生成json转给js,生成html
- iPhone开发 调用摄像头进行拍照等操作
- Wp7: 调用摄像头拍照并上传图片(完整版)
- vb、asp和html中调用c#类库生成的dll文件所遇问题解决方案
- 用jmf调用摄像头视频拍照的例子
- jQuery入门(10):Ajax(利用WebService调用用户控件生成HTML)
- FootStep 40、如何调用S60的系统摄像头功能进行拍照与摄像?