package com.baqn.face.servlet;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import sun.misc.BASE64Decoder;
import com.baqn.face.FaceAdd;
import com.baqn.face.FaceSearch;
import com.baqn.face.opj.Msg;
import com.baqn.face.opj.MsgSearch;
import com.google.gson.Gson;
public class faceServlet extends HttpServlet {
/**
* 保存照片
* @param imgStr
* @param imgFilePath
* @return
*/
public static boolean GenerateImage(String imgStr, String imgFilePath) {
if (imgStr == null)
return false;
BASE64Decoder decoder = new BASE64Decoder();
try {
byte[] bytes = decoder.decodeBuffer(imgStr);
for (int i = 0; i < bytes.length; ++i) {
if (bytes[i] < 0) {
bytes[i] += 256;
}
}
OutputStream out = new FileOutputStream(imgFilePath);
out.write(bytes);
out.flush();
out.close();
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
/**
*
*/
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//设置编码格式
response.setContentType("text/html;charset=utf-8");
response.setCharacterEncoding("utf-8");
//获取ajax传过来的值
String img = request.getParameter("img");
String username = request.getParameter("username");
//判断请求
String tag = request.getParameter("tag");
PrintWriter out=response.getWriter();
//注册请求
if(tag.equals("reg")){
System.out.println("a");
String fileName = System.currentTimeMillis()+".jpg";
String basePath = request.getSession().getServletContext().getRealPath("image");
GenerateImage(img,basePath +"\\"+ fileName);
System.out.println(basePath + "\\" + fileName);
String image=basePath + "\\" + fileName;
Gson g = new Gson();
Msg msg = g.fromJson(FaceAdd.add(image,username,"描述"), Msg.class);
int result=msg.error_code;
if(result==0){
out.print("注册成功");
}
else{
out.print("注册失败,请稍后重试");
}
}
//登陆请求
else if(tag.equals("login")){
String fileName = System.currentTimeMillis()+".jpg";
String basePath = request.getSession().getServletContext().getRealPath("image");
// 保存到本地
GenerateImage(img,basePath +"\\"+ fileName);
System.out.println(basePath + "\\" + fileName);
String image=basePath + "\\" + fileName;
Gson g = new Gson();
MsgSearch msg = g.fromJson(FaceSearch.search(image), MsgSearch.class);
System.out.println("返回码:"+msg.error_code+msg.error_msg);
int result=msg.error_code;
System.out.println("对比分值"+msg.showScore());
if(result==0){
if(msg.showScore()>90){
out.print("登陆成功");
}else{
out.print("");
}
}else{
out.print("");
}
}
}
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doGet(req, resp);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
调用百度人脸识别API进行登录.zip (44个子文件)
faceDemo3
.settings
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.wst.common.project.facet.core.xml 252B
org.eclipse.wst.common.component 465B
org.eclipse.wst.jsdt.ui.superType.container 49B
.jsdtscope 500B
org.eclipse.jdt.core.prefs 395B
src
com
baqn
face
FaceMatch.java 3KB
auth
AuthService.java 3KB
FaceSearch.java 2KB
servlet
faceServlet.java 3KB
FaceAdd.java 2KB
opj
Msg.java 840B
MsgSearch.java 2KB
utils
Base64Util.java 3KB
HttpUtil.java 3KB
GsonUtils.java 663B
FileUtil.java 2KB
.project 2KB
WebRoot
image
jquery-1.8.3.js 261KB
chaomeng.jpg 141KB
lanbing1.jpg 1.85MB
lanbing.jpg 149KB
META-INF
MANIFEST.MF 36B
WEB-INF
web.xml 696B
classes
com
baqn
face
FaceAdd.class 2KB
auth
AuthService.class 3KB
servlet
faceServlet.class 4KB
FaceMatch.class 3KB
opj
ResultSearch.class 691B
SearchUser.class 570B
Msg.class 809B
Result.class 593B
MsgSearch.class 1KB
utils
FileUtil.class 2KB
Base64Util.class 2KB
GsonUtils.class 1KB
HttpUtil.class 4KB
FaceSearch.class 2KB
lib
gson-2.8.2.jar 227KB
json-20180813.jar 63KB
faceLogin.html 2KB
facePunchIn.html 2KB
.mymetadata 300B
.classpath 668B
.myeclipse
共 44 条
- 1
资源评论
等天晴i
- 粉丝: 3484
- 资源: 10万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功