当前位置: 首页> 科技> 能源 > 微信公众平台运营中心电话_网站的常用技术有哪些_推广网上国网_营销文案

微信公众平台运营中心电话_网站的常用技术有哪些_推广网上国网_营销文案

时间:2025/7/11 9:51:33来源:https://blog.csdn.net/weixin_63128816/article/details/143425063 浏览次数:2次
微信公众平台运营中心电话_网站的常用技术有哪些_推广网上国网_营销文案
package com.sike.controller;import com.baidu.aip.face.AipFace;
import com.sike.entity.User;
import com.sike.service.UserService;
import jakarta.servlet.http.HttpServletRequest;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.util.ResourceUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Base64;
import java.util.HashMap;@Controller
public class FaceController {//从百度申请到的三种参数,用于连接其人脸识别接口api//读者要替换成自己从百度申请到的这三种数据,这个很快会过期private static final String APP_ID = "116060324";private static final String API_KEY = "KrLMgijnIAqvLjpWo6uRFdj3";private static final String SECRET_KEY = "GWg4DtQNZ9IsXDjHjBczdRIi5l3h1c9S";@Autowiredprivate UserService userService;//将收集到的用户名和相片发送给百度进行注册,其中相片是Base64格式//同时相片上传到服务器的photo文件夹存储,用户数据也保存一份到数据库@RequestMapping(value = "register",method = RequestMethod.POST)@ResponseBodypublic String register(String userName,String faceBase) throws IOException {if(!StringUtils.isEmpty(userName) && !StringUtils.isEmpty(faceBase)) {//文件上传的地址String upPath = ResourceUtils.getURL("classpath:").getPath()+"static\\photo";// 给上传的图片命名,格式:用户名_当前时间的毫秒数.jpgString fileName = userName+"_"+System.currentTimeMillis() + ".jpg";String path=upPath+"\\"+fileName;//上传文件的最终路径File file = new File(path);//初始化百度云的AipFaceAipFace client = new AipFace(APP_ID, API_KEY, SECRET_KEY);//向数据库里插入一条用户数据User user = new User();user.setUsername(userName);user.setPhoto(path);User exitUser = userService.findUserByName(userName);if(exitUser != null) { //表示用户名重复了return "2";}userService.addUser(user);//添加到数据库//图片上传到服务器中//将客户端传递过来的相片转换为字节byte[] bytes= Base64.getDecoder().decode(faceBase);//创建输出流OutputStream out=new FileOutputStream(path);out.write(bytes);//上传图片//创建w调用接口所需参数// 传入可选参数调用接口HashMap<String, String> options = new HashMap<String, String>();options.put("quality_control", "LOW");options.put("liveness_control", "LOW");
//            String image = Base64Util.encode(bytes);String imageType = "BASE64";//相片格式String groupId = "1001"; //用户组id//调用接口进行人脸注册,向百度云人脸库插入一张人脸JSONObject res = client.addUser(faceBase,imageType,groupId,userName,options);System.out.println(res.toString(2));//控制台观察注册反馈结果}return "1";}//用户登录@RequestMapping(value = "login",method = RequestMethod.POST)@ResponseBodypublic String login(String faceBase, HttpServletRequest request) {String faceData = faceBase;//进行人像数据对比AipFace client = new AipFace(APP_ID,API_KEY,SECRET_KEY);JSONObject user = verifyUser(faceData,client);//进行人像对比获取结果System.out.println(user.toString());Double score = (Double) user.get("score");//获得准确率百分数if(score>95) { //准确率超过 95%认为成功return "{\"num\":\"1\",\"username\":\""+user.getString("user_id")+"\"}";}else {return "{\"num\":\"2\"}";}}//人脸对比public JSONObject verifyUser(String imgBash64, AipFace client) {// 传入可选参数调用接口HashMap<String, String> options = new HashMap<String, String>();options.put("quality_control", "LOW");options.put("liveness_control", "LOW");JSONObject res = client.search(imgBash64, "BASE64", "1001", options);System.out.println("这是res========="+res);//   System.out.println(res.toString(2));//观察比较结果//   System.out.println(res.getJSONObject("result"));//     System.out.println(res.getJSONObject("result").getJSONArray("user_list"));JSONObject user = (JSONObject) res.getJSONObject("result").getJSONArray("user_list").get(0);System.out.println("百度返回的user对象:"+user.toString());//观察返回的识别到的用户数据//   System.out.println("username:"+user.getString("user_id"));return user; //识别到的用户信息}
}
关键字:微信公众平台运营中心电话_网站的常用技术有哪些_推广网上国网_营销文案

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: