`

jsp证件照实现代码

阅读更多

实现思路如下:

1.设置好拍照背景,如使用红布或者蓝布等等,白墙也可以。

2.选择高清的摄像头,如罗技等高清摄像头,支持的分辨率越高越好。

3.使用ImageCapOnWeb处理拍照。

4.调用控件的start方法开始获取摄像头视频

5.调用cap()方法拍照

6.调用selectRect方法选中头像区域,不满意的话可以手动微调。

7.调用cutSelected方法裁剪使用选中区域

8.保存拍照结果。

 

代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<title>控件测试页面</title>
		<script type="text/javascript">

			function startCam(){
				var capActivexObject=document.getElementById('cap1');

				//启动摄像头
				capActivexObject.start();
			}

			function capPicture1(){
				var capActivexObject=document.getElementById('cap1');
				capActivexObject.cap(); //控制摄像头拍照
			}
			
			function selectPic(){
				var capActivexObject=document.getElementById('cap1');
				capActivexObject.selectRect(0.3,0.25,0.6,0.8);//具体含义请查看文档
			}
			
			function cutSelectedPic(){
				var capActivexObject=document.getElementById('cap1');
				capActivexObject.cutSelected();
				
			}


			function submitToServer(){
				//读取控件的拍照结果到hidden输入项中
				var base64_data1 = document.getElementById('cap1').jpegBase64Data;
				if (base64_data1.length==0) {
					alert('请先拍照!');
					return false;
				}
				document.getElementById('picData1').value=base64_data1;
				document.getElementById('picExt1').value='.jpg';


				/*注意不同的服务器端技术要配置不同的接收数据的url,可以参考submit.html的示
				如asp.net的程序员可以查看submit.aspx,php程序员可以查看submit.php,asp程序员可以查看submit.asp
				*/

				//document.forms[0].action="http://localhost:8080/pages/submit.jsp";

				alert('请先打开demo6.html配置服务器端程序参数再继续测试!');
				return false;
				document.forms[0].submit();
			}

		</script>
	</head>
	<body>
		<form  method="post" >
			<input type="hidden" id="picData1" name="picData1"/>
			<input type="hidden" id="picExt1"  name="picExt1"/>
			<input type="hidden" id="picData2" name="picData2"/>
			<input type="hidden" id="picExt2"  name="picExt2"/>
			<p>
				<input type="button" value="启动摄像头" onclick="javascript:startCam();"  />
				<input type="button" value="拍照片" onclick="javascript:capPicture1();"  />
				<input type="button" value="选中头像区域" onclick="javascript:selectPic();"  />
				<input type="button" value="裁剪选中区域" onclick="javascript:cutSelectedPic()"  />
				<input type="button" value="提交到服务器端" onclick="javascript:submitToServer();"  /> <br/>
				<input type="button" value="清除结果" onclick="javascript:document.getElementById('cap1').clear();"  />
			</p>
			<object classid="clsid:34681DB3-58E6-4512-86F2-9477F1A9F3D8" id="cap1" width="640" height="480" codebase="../cabs/ImageCapOnWeb.cab#version=2,0,0,0">
				<param name="Visible" value="0">
				<param name="AutoScroll" value="0">
				<param name="AutoSize" value="0">
				<param name="AxBorderStyle" value="1">
				<param name="Caption" value="scaner">
				<param name="Color" value="4278190095">
				<param name="Font" value="宋体">
				<param name="KeyPreview" value="0">
				<param name="PixelsPerInch" value="96">
				<param name="PrintScale" value="1">
				<param name="Scaled" value="-1">
				<param name="DropTarget" value="0">
				<param name="HelpFile" value>
				<param name="PopupMode" value="0">
				<param name="ScreenSnap" value="0">
				<param name="SnapBuffer" value="10">
				<param name="DockSite" value="0">
				<param name="DoubleBuffered" value="0">
				<param name="ParentDoubleBuffered" value="0">
				<param name="UseDockManager" value="0">
				<param name="Enabled" value="-1">
				<param name="AlignWithMargins" value="0">
				<param name="ParentCustomHint" value="-1">
				<param name="licenseMode" value="2">
				<param name="key1" value="">
				<param name="key2" value="">
			</object>
		</form>
		<script type="text/javascript">
			document.all.cap1.SwitchWatchOnly();  //切换到只显示摄像头画面形式,隐藏编辑按钮等图标.
		</script>
	</body>
</html>

 

<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*,java.io.*" errorPage="" %>
<%
String savePath=config.getServletContext().getRealPath("/")+"//";

		File tmp_path=new File(savePath);
		tmp_path.mkdirs();
		System.out.println("照片数据保存路径:"+savePath);


String pic_base_64_data=request.getParameter("picData");

//如果下面的代码输出true则说明需要调整服务器软件工作参数,解决接受post数据的大小限制问题,例如
//tomcat的话需要在server.xml中配置maxPostSize="0"来解除上传数据的大小限制   <Connector port="8080" protocol="HTTP/1.1" 
//               connectionTimeout="20000" 
//               redirectPort="8443" maxPostSize="0"/>
// 
System.out.println(null==pic_base_64_data);

System.out.println("base64 string length:"+pic_base_64_data.length());
String fileFormat=request.getParameter("picExt");
sun.misc.BASE64Decoder decode=new sun.misc.BASE64Decoder();

byte[] datas=decode.decodeBuffer(pic_base_64_data);

String filename=String.valueOf(System.currentTimeMillis())+fileFormat;
File file=new File(savePath+filename);
OutputStream fos=new FileOutputStream(file);
System.out.println("图片文件名称:"+filename);
fos.write(datas);
fos.close();

out.print("<a href='" + request.getContextPath()+"/"+ filename + "'>click here</a>");
out.flush();
out.close();
%>

 

5
2
分享到:
评论
1 楼 freecode 2011-06-28  
学习下,以后有可能用

相关推荐

    企业招聘网站,JSP实现代码

    企业招聘网站,JSP实现代码企业招聘网站,JSP实现代码企业招聘网站,JSP实现代码企业招聘网站,JSP实现代码企业招聘网站,JSP实现代码企业招聘网站,JSP实现代码企业招聘网站,JSP实现代码企业招聘网站,JSP实现代码...

    JSP购物车的实现代码

    2. JSP代码实现: - 使用`&lt;jsp:useBean&gt;`标签实例化表示购物车的JavaBean,存储在会话中,以便跨页面保持状态。 - `request.getParameter()`获取用户提交的商品ID,然后调用业务逻辑层的方法将商品添加到购物车。 ...

    jsp验证码实现源代码

    jsp验证码实现源代码,用jsp做注册验证码

    JSP实例代码 JSP实例代码 JSP实例代码 JSP实例代码 JSP实例代码 JSP实例代码

    JSP实例代码 JSP实例代码 JSP实例代码 JSP实例代码 JSP实例代码 JSP实例代码JSP实例代码 JSP实例代码 JSP实例代码 JSP实例代码

    jsp实现购物车源代码

    【JSP实现购物车源代码】是一个典型的Web开发实践,主要涉及了JSTL(JavaServer Pages Standard Tag Library)和EL(Expression Language)这两项关键的技术。本文将深入解析这两个核心技术及其在购物车功能实现中的...

    JSP网上书店实现文档和源代码.zip

    JSP网上书店实现文档和源代码.zip JSP网上书店实现文档和源代码.zip JSP网上书店实现文档和源代码.zip JSP网上书店实现文档和源代码.zip JSP网上书店实现文档和源代码.zip JSP网上书店实现文档和源代码.zip JSP网上...

    jsp网页制作常用代码

    如果想要在jsp页面中实现图片移动,可以使用以下代码:&lt;marquee&gt;&lt;img src="图片地址" width="150" height="100"&gt;&lt;/marquee&gt; 这个代码可以帮助开发者快速实现图片移动的效果。 八、背景音乐代码 如果想要在jsp页面...

    JSP注册页面的代码

    JSP注册页面的代码是JSP编程语言中的一种经典实现方式,旨在帮助新学JSP的同学们掌握基本的JSP编程技术。本文将对JSP注册页面的代码进行详细解析,帮助读者更好地理解JSP编程语言。 标题:JSP注册页面的代码 描述...

    jsp学生选课系统代码及报告

    【标题】"jsp学生选课系统代码及报告"是一个基于Java服务器页面(JSP)技术构建的教育管理软件,主要用于实现学生在线选课的功能。在这样的系统中,JSP作为前端展示层,处理用户交互,展示课程信息,接收学生的选课...

    jsp实现时钟显示代码

    jsp实现时钟显示代码 本资源详细介绍了使用jsp实现时钟显示的代码,代码已经经过调试,运行无错误,可以直接导入MyEclipse使用。 知识点解说: 1. JSP页面结构:本代码使用的jsp页面结构包括page指令、DOCTYPE...

    用JSTL实现JSP分页显示数据代码(MySQL数据库)

    JSTL 实现 JSP 分页显示数据代码(MySQL 数据库) 本文将详细讲解如何使用 JSTL 实现 JSP 分页显示数据代码,并使用 MySQL 作为数据库。该代码不仅提供了分页显示数据的功能,还提供了数据库和表的创建代码。 标题...

    jsp 品红项目 源代码

    【标题】"jsp 品红项目 源代码"所涵盖的知识点主要涉及Java Server Pages(JSP)技术在实际项目开发中的应用,特别是针对一个名为“品红”的项目。JSP是一种动态网页开发技术,它允许开发者将HTML、CSS、JavaScript...

    JSP交友网站 源代码

    JSP是Java平台上的动态网页技术,它允许开发者在HTML页面中嵌入Java代码,以实现服务器端的业务逻辑处理。JSP通过编译成Servlet来运行,从而提供了高效且可扩展的Web应用开发方式。在这个交友网站中,JSP主要负责...

    jsp论坛源代码的(实现留言,回复)

    【JSP论坛源代码实现详解】 JSP(JavaServer Pages)是一种基于Java技术的动态网页开发工具,它允许开发者在HTML、XML或者其他标记语言中嵌入Java代码,从而实现动态内容的生成。在这个名为“BBS项目组”的压缩包中...

    jsp实现注册页面验证码验证代码

    Description: 该文章讲述了如何使用 JSP 实现注册页面验证码验证代码,代码使用请有基础 JSP 基础,知道将代码添加到哪里,文章中已做详细阐述。 Tag: JSP、验证码、代码、表单验证 Knowledge Points: 1. JSP ...

    jsp 精美版面与代码

    【JSP精美版面与代码】的学习资源是一个宝贵的资料库,尤其对于初学者或希望提升JSP页面设计技能的开发者来说。JSP(JavaServer Pages)是Java平台上的一个动态网页技术,它允许开发者将静态内容与动态逻辑相结合,...

    图书管理系统jsp源代码

    对于“源代码”标签,意味着我们可以查看和修改系统的全部实现,这对于学习和理解系统的工作原理非常有帮助。在压缩包内的“源代码”文件夹中,通常包含以下几个部分: 1. **JSP文件**:这些文件包含了用户界面的...

    JSP 网上社区源代码

    本篇将深入解析基于JSP技术构建的网上社区源代码,探讨其核心概念、实现原理以及与数据库的交互方式。JSP(JavaServer Pages)是Java平台上的动态网页技术,它允许开发人员在HTML或XML文档中嵌入Java代码,从而实现...

Global site tag (gtag.js) - Google Analytics