whychdw
2020-04-27 80c9b1ec4ab5caa4e477fe95abcb70b1c9cbe50b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package com.fgkj.services;
 
 
import java.util.*;
 
import com.fgkj.actions.ActionUtil;
 
/**
* 人脸检测与属性分析
*/
public class FaceDetect {
 
    /**
    * 重要提示代码中所需工具类
    * FileUtil,Base64Util,HttpUtil,GsonUtils请从
    * https://ai.baidu.com/file/658A35ABAB2D404FBF903F64D47C1F72
    * https://ai.baidu.com/file/C8D81F3301E24D2892968F09AE1AD6E2
    * https://ai.baidu.com/file/544D677F5D4E4F17B4122FBD60DB82B3
    * https://ai.baidu.com/file/470B3ACCA3FE43788B5A963BF0B625F3
    * 下载
    */
    public static String faceDetect(String json) {
        // 请求url
        String url = "https://aip.baidubce.com/rest/2.0/face/v3/detect";
        try {
            //Map<String, Object> map = new HashMap<>();
            //map.put("image", "027d8308a2ec665acb1bdf63e513bcb9");
            //map.put("face_field", "faceshape,facetype");
            //map.put("image_type", "FACE_TOKEN");
            //map.put("accessToken", "************");
            Map<String, Object> map = ActionUtil.getGson().fromJson(json, HashMap.class);
            
            String param = GsonUtils.toJson(map);
 
            // 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。
            //String accessToken = "[调用鉴权接口获取的token]";
            String msg = HttpUtil.post(url, map.get("accessToken").toString(), "application/json", param);
            
            return msg;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
 
    public static void main(String[] args) {
        FaceDetect.faceDetect("jjjjj");
    }
}