Chrome 谷歌浏览器调用摄像头并拍照上传 java示例
2015-05-18 10:41
477 查看
html页面:
servlet后台接收并保存:
<!DOCTYPE html> <html> <head> <title>html5调用摄像头实现拍照</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <script type="text/javascript" src="assets\js\jquery-2.0.3.min.js" ></script> </head> <body> <video id="video" autoplay=""style='width:640px;height:480px'></video> <button id="paizhao">拍照</button> <canvas id="canvas" width="640" height="480"></canvas> <script type="text/javascript"> var video=document.getElementById("video"); var context=canvas.getContext("2d"); var errocb=function(){ console.log("sth srong"); } if(navigator.getUserMedia){ navigator.getUserMedia({"video":true},function(stream){ video.src=stream; video.play(); },errocb); }else if(navigator.webkitGetUserMedia){ navigator.webkitGetUserMedia({"video":true},function(stream){ video.src=window.webkitURL.createObjectURL(stream); video.play(); },errocb); } document.getElementById("paizhao").addEventListener("click",function(){ context.drawImage(video,0,0,640,480); var canvas=document.getElementById("canvas"); var imgData=canvas.toDataURL("image/png"); var data=imgData.substr(22); $.ajax({ url:'CanvasServlet', data:{ imedata:data }, type:'post', success:function(data){ if(data=='true'){ alert('上传成功'); }else{ alert('上传失败'); } } }); }); </script> </body> </html>
servlet后台接收并保存:
package com.servlet; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import sun.misc.BASE64Decoder; /** * Servlet implementation class CanvasServlet */ @WebServlet("/CanvasServlet") public class CanvasServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public CanvasServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub String base64Data = request.getParameter("imedata"); System.out.println(base64Data); if(base64Data!=null){ BASE64Decoder deoder = new BASE64Decoder(); try { byte[] b = deoder.decodeBuffer(base64Data); for(int i = 0 ; i<b.length;i++){ if(b[i]<0){//调整异常数据 b[i]+=256; } } File f = new File("e://canvas"); if(!f.exists()){ f.mkdir(); } //生成图片 String filepath = "e://canvas//1.png"; OutputStream out1 = new FileOutputStream(filepath); out1.write(b); out1.flush(); out1.close(); rs(response,"true"); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); rs(response,"false"); } }else{ rs(response,"false"); } } public void rs(HttpServletResponse response,String rs){ PrintWriter out; try { out = response.getWriter(); out.print(rs); out.flush( 8b55 ); out.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
相关文章推荐
- 能够正常使用的,经过测试的java+jquery+webcam调用本地摄像头拍照,然后将拍照结果上传数据库blob字段功能的实现(二)
- java opencv 调用摄像头实现拍照及本地保存 支持上传FTP 路径配置
- html5调用手机摄像头,实现拍照上传功能
- Java调用摄像头进行拍照源码,并且有JMF下载地址
- Vue2.0实现调用摄像头进行拍照功能以及图片上传功能引用exif.js(2)
- Vue2.0 引用 exif.js 实现调用摄像头进行拍照功能以及图片上传功能
- Wp7: 调用摄像头拍照并上传图片(完整版)
- 如何使用HTML5实现利用摄像头拍照上传功能(java版)
- 在网页中调用摄像头实现拍照上传 - 高拍仪二次开发
- H5调用手机的摄像头拍照上传以及手机相册选取照片
- 利用html5调用本地摄像头拍照上传图片[转]
- 使用Java调用摄像头进行拍照源码
- H5调用手机的摄像头拍照上传以及手机相册选取照片但不支持Android的分析
- html页面通过ActiveX控件调用摄像头实现拍照上传demo代码下载
- html5调用手机摄像头,实现拍照上传功能
- Android调用摄像头拍照和从相册中选择(上传、更换头像)
- javascript调用摄像头拍照上传二-------flash版
- Android客户端之“微服私访”App的系统学习(八)调用系统摄像头拍照并管理照片并使用Okhttp上传文件至后台
- flex摄像头拍照 java上传到数据库
- JAVA 微信公众号调用摄像头并上传图片至服务器