前言
我之前发的那一篇我发现了一些代码中的问题也进行修改和优化,我这里就只展示优化和修改的部分,需要的工具类请看此文章Springboot整合百度人脸识别功能实现注册和登录_人脸识别登录功能-CSDN博客
问题和优化
问题
上面的这篇文章中我的代码中用到了OSS文件存储服务器来保存注册的人脸识别照片方便登录时进行比对,但是后面我在阅读官方的API文档的时候发现其实我们并不需要保存注册时的人脸照片,我们只需要获取到注册人脸照片时返回值中的人脸照片唯一标识即可。
优化
如上是进行注册人脸识别成功之后的返回值,在上面的返回值中我们只需要获取到一个名为face_token的值即可,这个值即人脸照片的唯一标识,我们只需要将其存入数据库中对应用户的信息里即可,在每次进行比对时传入根据登录的账号进行查询获取到这个唯一标识然后传递给百度AI比对即可,代码如下。
package com.baidu.controller;
import com.baidu.aip.face.AipFace;
import com.baidu.aip.face.MatchRequest;
import com.baidu.compents.CodeCompents;
import com.baidu.config.BaiduAiConfig;
import com.baidu.pojo.UserBaiduai;
import com.baidu.service.UserBaiduAIService;
import com.baidu.util.Base64Util;
import com.baidu.util.OssUtil;
import org.apache.commons.lang3.ObjectUtils;
import org.json.JSONException;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
impor