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>
Salin selepas log masuk
<%@ 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();
%>
Salin selepas log masuk


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Adakah jsp bahagian hadapan atau belakang? Adakah jsp bahagian hadapan atau belakang? Jan 28, 2023 pm 06:23 PM

jsp tergolong dalam bahagian belakang. Intipati jsp ialah servlet, dan servlet ialah aplikasi java bahagian pelayan, jadi jsp ialah teknologi back-end. JSP digunakan pada pelayan rangkaian dan boleh bertindak balas kepada permintaan yang dihantar oleh klien dan menjana halaman Web HTML, XML atau dokumen format lain secara dinamik berdasarkan kandungan permintaan, dan kemudian mengembalikannya kepada peminta. Teknologi JSP menggunakan Java sebagai bahasa skrip untuk menyediakan perkhidmatan untuk permintaan HTTP pengguna, dan boleh mengendalikan keperluan perniagaan yang kompleks bersama-sama dengan program Java lain pada pelayan.

Bagaimana untuk mengintegrasikan JSP dalam projek SpringBoot Bagaimana untuk mengintegrasikan JSP dalam projek SpringBoot May 12, 2023 pm 07:40 PM

Selepas projek springboot baharu dibuat, direktori adalah seperti berikut: Langkah 1: Tambah kod pakej jar yang diperlukan untuk mengkonfigurasi jsp ke fail pom projek: org.apache.tomcat.embedtomcat-embed-jasperprovided Langkah 2: Buat direktori baharu webapp di bawah laluan utama , cipta laluan baharu WEB-INF di bawah aplikasi web, cipta laluan baharu jsp di bawah WEB-INF dan letakkan fail jsp yang ingin kami gunakan di bawah laluan ini fail jsp dalam fail konfigurasi utama: spring .mvc.view.prefix=/WEB-INF/jsp/sp

Apakah perbezaan antara jsp dan html Apakah perbezaan antara jsp dan html Jan 09, 2024 am 10:46 AM

Perbezaan antara jsp dan html: 1. Mekanisme operasi; 3. Hubungan dengan Java; 5. Hubungan dengan back-end; ; 9. Akhiran fail dan alat pengenalan 10. Komuniti dan sokongan; Pengenalan terperinci: 1. Mekanisme pengendalian HTML ialah bahasa penanda, terutamanya digunakan untuk menerangkan dan mentakrifkan kandungan halaman web Ia dijalankan pada klien dan ditafsirkan dan dilaksanakan oleh pelayar web yang dinamik bahagian pelayan, dsb. tunggu.

Bagaimana untuk melaksanakan fungsi paging jsp Bagaimana untuk melaksanakan fungsi paging jsp Mar 04, 2024 pm 04:40 PM

Langkah-langkah pelaksanaan: 1. Memperkenalkan perpustakaan tag JSTL ke dalam halaman JSP 2. Mendapatkan data daripada pangkalan data 3. Mengelui data 4. Memaparkan bar navigasi halaman 5. Memaparkan nombor mengikut halaman semasa; nombor dan setiap halaman , hanya dapatkan data yang sepadan daripada data halaman dan paparkannya pada halaman.

Cara menggunakan jsp+mysql untuk melaksanakan pertanyaan paging pada halaman web Cara menggunakan jsp+mysql untuk melaksanakan pertanyaan paging pada halaman web May 30, 2023 pm 03:58 PM

1. Pernyataan sql teras untuk melaksanakan pertanyaan paging (1) Pernyataan sql untuk menanyakan jumlah rekod dalam pangkalan data: selectcount(*)dari+(nama jadual); (2) Pernyataan sql untuk menanyakan bilangan rekod setiap pertanyaan: di mana: 0 dicari Indeks, 2 ialah bilangan item yang dicari setiap kali. pilih*daripada nama jadual limit0,2; 2. Pelaksanaan kod* Saya menulis dua kelas ini dalam artikel sebelumnya, kelas sambungan DB: digunakan untuk mendapatkan sambungan pangkalan data, kelas objek Pengarang. Klik pada pautan untuk melihat kod bagi kedua-dua kelas ini. Klik pautan untuk melihat kelas sambungan DB dan kelas objek Pengarang (1) Halaman log masuk: index.jsp. Inserttitlehere lajur pengguna

Apakah format jsp? Apakah format jsp? Jan 24, 2024 pm 04:01 PM

​JSP ialah standard teknologi web dinamik Format failnya adalah untuk memasukkan segmen program Java (Scriptlet) dan tag (teg) JSP ke dalam fail HTML halaman web tradisional (.htm, .html) untuk membentuk fail JSP (*.jsp ).

Bolehkah JSP digantikan dengan PHP? Bolehkah JSP digantikan dengan PHP? Mar 21, 2024 am 11:03 AM

Bolehkah JSP digantikan dengan PHP? JSP (JavaServerPages) dan PHP (HypertextPreprocessor) adalah bahasa skrip sebelah pelayan yang biasa digunakan untuk menjana kandungan halaman web secara dinamik. Walaupun mereka masing-masing mempunyai ciri dan kelebihan tersendiri, bolehkah mereka menggantikan satu sama lain sepenuhnya dalam aplikasi praktikal? Artikel ini akan menganalisis kelebihan dan kekurangan kedua-duanya dan membandingkannya melalui contoh kod tertentu. Mula-mula, mari kita lihat ciri-ciri JSP dan PHP masing-masing. JSP adalah berasaskan Java

Timbunan teknologi Java untuk pembangunan web: Fahami Java EE, Servlet, JSP, Spring dan teknologi lain yang biasa digunakan dalam pembangunan web Timbunan teknologi Java untuk pembangunan web: Fahami Java EE, Servlet, JSP, Spring dan teknologi lain yang biasa digunakan dalam pembangunan web Dec 26, 2023 pm 02:29 PM

Timbunan teknologi pembangunan JavaWeb: Master JavaEE, Servlet, JSP, Spring dan teknologi lain yang digunakan untuk pembangunan Web Dengan perkembangan pesat Internet, dalam bidang pembangunan perisian hari ini, pembangunan aplikasi Web telah menjadi keperluan teknikal yang sangat penting. Sebagai bahasa pengaturcaraan yang digunakan secara meluas, Java juga memainkan peranan penting dalam bidang pembangunan Web. Timbunan teknologi pembangunan JavaWeb melibatkan pelbagai teknologi, seperti JavaEE, Servlet, JSP, Spr

See all articles