Maison développement back-end tutoriel php jsp证件照实现代码

jsp证件照实现代码

Nov 29, 2016 am 10:21 AM
JavaScript 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(&#39;cap1&#39;);
//启动摄像头
capActivexObject.start();
}
function capPicture1(){
var capActivexObject=document.getElementById(&#39;cap1&#39;);
capActivexObject.cap(); //控制摄像头拍照
}
function selectPic(){
var capActivexObject=document.getElementById(&#39;cap1&#39;);
capActivexObject.selectRect(0.3,0.25,0.6,0.8);//具体含义请查看文档
}
function cutSelectedPic(){
var capActivexObject=document.getElementById(&#39;cap1&#39;);
capActivexObject.cutSelected();
}
function submitToServer(){
//读取控件的拍照结果到hidden输入项中
var base64_data1 = document.getElementById(&#39;cap1&#39;).jpegBase64Data;
if (base64_data1.length==0) {
alert(&#39;请先拍照!&#39;);
return false;
}
document.getElementById(&#39;picData1&#39;).value=base64_data1;
document.getElementById(&#39;picExt1&#39;).value=&#39;.jpg&#39;;
/*注意不同的服务器端技术要配置不同的接收数据的url,可以参考submit.html的示
如asp.net的程序员可以查看submit.aspx,php程序员可以查看submit.php,asp程序员可以查看submit.asp
*/
//document.forms[0].action="http://localhost:8080/pages/submit.jsp";
alert(&#39;请先打开demo6.html配置服务器端程序参数再继续测试!&#39;);
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(&#39;cap1&#39;).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>
Copier après la connexion
<%@ 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=&#39;" + request.getContextPath()+"/"+ filename + "&#39;>click here</a>");
out.flush();
out.close();
%>
Copier après la connexion


Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

JSP est-il front-end ou back-end ? JSP est-il front-end ou back-end ? Jan 28, 2023 pm 06:23 PM

jsp appartient au backend. L'essence de jsp est un servlet, et le servlet est une application Java côté serveur, donc jsp est une technologie back-end. JSP est déployé sur le serveur réseau et peut répondre aux requêtes envoyées par le client et générer dynamiquement des pages Web de documents HTML, XML ou autres formats en fonction du contenu de la requête, puis les renvoyer au demandeur. La technologie JSP utilise Java comme langage de script pour fournir des services pour les requêtes HTTP des utilisateurs et peut gérer des exigences commerciales complexes avec d'autres programmes Java sur le serveur.

Quelle est la différence entre jsp et html Quelle est la différence entre jsp et html Jan 09, 2024 am 10:46 AM

La différence entre jsp et html : 1. Mécanisme de fonctionnement ; 2. Objectif ; 3. Relation avec Java ; 4. Fonction ; 5. Relation avec le back-end ; ; 9. Suffixes de fichiers et outils d'identification ; 10. Communauté et support ; Introduction détaillée : 1. Mécanisme de fonctionnement. HTML est un langage de balisage, principalement utilisé pour décrire et définir le contenu des pages Web. Il s'exécute sur le client et est interprété et exécuté par le navigateur. JSP est une technologie de page Web dynamique qui s'exécute sur. le côté serveur, etc. attendez.

Comment intégrer JSP dans le projet SpringBoot Comment intégrer JSP dans le projet SpringBoot May 12, 2023 pm 07:40 PM

Une fois le nouveau projet Springboot créé, le répertoire est le suivant : Étape 1 : Ajoutez le code du package jar requis pour configurer jsp au fichier pom du projet : org.apache.tomcat.embedtomcat-embed-jasperprovided Étape 2 : Créez un nouveau répertoire webapp sous le chemin principal, créez un nouveau chemin WEB-INF sous webapp, créez un nouveau chemin jsp sous WEB-INF et placez le fichier jsp que nous voulons utiliser sous ce chemin Étape 3 : Configurez le chemin d'accès et le code de suffixe de. le fichier jsp dans le fichier de configuration principal : spring .mvc.view.prefix=/WEB-INF/jsp/sp

Comment implémenter la fonction de pagination jsp Comment implémenter la fonction de pagination jsp Mar 04, 2024 pm 04:40 PM

Étapes de mise en œuvre : 1. Introduire la bibliothèque de balises JSTL dans la page JSP ; 2. Obtenir les données de la base de données ; 3. Paginer les données 4. Afficher la barre de navigation de pagination dans la page ; numéro et chaque page, récupérez simplement les données correspondantes des données de pagination et affichez-les sur la page.

Comment utiliser jsp+mysql pour implémenter une requête de pagination sur des pages Web Comment utiliser jsp+mysql pour implémenter une requête de pagination sur des pages Web May 30, 2023 pm 03:58 PM

1. L'instruction SQL principale pour implémenter la requête de pagination (1) L'instruction SQL pour interroger le nombre total d'enregistrements dans la base de données : selectcount(*)from+(table name); (2) L'instruction SQL pour interroger le nombre d'enregistrements pour chaque requête : où : 0 est l'index recherché, 2 est le nombre d'éléments recherchés à chaque fois. select*from table name limit0,2; 2. Implémentation du code* J'ai écrit ces deux classes dans l'article précédent, classe DBconnection : utilisée pour obtenir des connexions à la base de données, classe d'objet Author. Cliquez sur le lien pour afficher le code de ces deux classes. Cliquez sur le lien pour afficher la classe DBconnection et la classe d'objet Author (1) Page de connexion : index.jsp. Insérer le titre ici la colonne utilisateur

JSP peut-il être remplacé par PHP ? JSP peut-il être remplacé par PHP ? Mar 21, 2024 am 11:03 AM

JSP peut-il être remplacé par PHP ? JSP (JavaServerPages) et PHP (HypertextPreprocessor) sont des langages de script côté serveur couramment utilisés pour générer dynamiquement le contenu de pages Web. Bien qu’ils aient chacun leurs propres caractéristiques et avantages, peuvent-ils se remplacer complètement dans les applications pratiques ? Cet article analysera les avantages et les inconvénients des deux et les comparera à travers des exemples de code spécifiques. Voyons d’abord les caractéristiques respectives de JSP et PHP. JSP est basé sur Java

Quel est le format jsp ? Quel est le format jsp ? Jan 24, 2024 pm 04:01 PM

​JSP est une norme de technologie Web dynamique. Son format de fichier consiste à insérer des segments de programme Java (Scriptlet) et des balises JSP (tags) dans les fichiers HTML de pages Web traditionnelles (.htm, .html) pour former des fichiers JSP (*.jsp).

Pile technologique Java pour le développement Web : comprendre Java EE, Servlet, JSP, Spring et d'autres technologies couramment utilisées dans le développement Web. Pile technologique Java pour le développement Web : comprendre Java EE, Servlet, JSP, Spring et d'autres technologies couramment utilisées dans le développement Web. Dec 26, 2023 pm 02:29 PM

Pile technologique de développement JavaWeb : maîtrisez JavaEE, Servlet, JSP, Spring et d'autres technologies utilisées pour le développement Web. Avec le développement rapide d'Internet, dans le domaine actuel du développement logiciel, le développement d'applications Web est devenu une exigence technique très importante. En tant que langage de programmation largement utilisé, Java joue également un rôle important dans le domaine du développement Web. La pile technologique de développement JavaWeb implique plusieurs technologies, telles que JavaEE, Servlet, JSP, Spr

See all articles