注意
如果,不清楚之前的获取合作方的数据可以看这个,缺少jar包也看这个
=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22132604747%22%2C%22source%22%3A%22qq_41840735%22%7D
这儿只介绍对海康威视下获取的人员面部信息的获取和面部信息的处理
{"picUri": "/pic?8dd685i46-e*9b649962225a--0a15b67eb3a78i7b5*=ids1*=idp2*=0d8t0pe*m5i11=4-3634fc91z20ds=4i32=","serverIndexCode": "71d96061-9f20-4c46-b7c6-f75b7e5ca5e7"
}
/api/resource/v2/person/personList
{"pageNo": 1,"pageSize": 100
}
{"code": "0","msg": "SUCCESS","data": {"total": 59,"pageNo": 1,"pageSize": 1,"list": [{"personId": "03fc803834c34004add606cc991bdd27","personName": "qe","gender": 1,"phone": "13333333333","jobNo": "1555","orgIndexCode": "c01ab7b0-46db-415f-aa0c-540b9d191bdd","certificateType": 111,"certificateNo": "12313","createTime": "2019-06-20T14:19:42.984+08:00","updateTime": "2019-07-23T18:41:49.708+08:00","orgPath": "@root000000@c01ab7b0-46db-415f-aa0c-540b9d191bdd@","orgPathName": "@默认组织@sz@","personPhoto": [{"personPhotoIndexCode": "1dd742ea-f220-4d63-bffa-fea82441bbba","picUri": "/pic?4dd569i90-e*615455166115m6ep=t=i1p*i=d1s*i=d3b*iedd0*9373cb46d-97105f--1544370za33s=1i15=","serverIndexCode": "a4b8e993-6d6a-43b0-b3ac-3b2dddf17a45","personId": "03fc803834c34004add606cc991bdd27"}]}]}
}
import com.alibaba.fastjson.JSONObject;
import com.hikvision.artemis.sdk.ArtemisHttpUtil;
import com.hikvision.fig.ArtemisConfig;
import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.hods.HttpGet;import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;import static com.hikvision.artemis.sdk.util.HttpUtil.wrapClient;
public class DownloadImageUtils {
public static String callPostImgs2(String picUri) throws Exception {ArtemisConfig config = new ArtemisConfig();config.setHost("IP"); // 代理API网关nginx服务器ip端口config.setAppKey("AK"); // 秘钥appkeyconfig.setAppSecret("SK");// 秘钥appSecretfinal String getSecurityApi = "/artemis" + "/api/resource/v1/person/picture"; // 接口路径Map<String, String> path = new HashMap<String, String>(2) {{put("", getSecurityApi);}};JSONObject jsonBody = new JSONObject();jsonBody.put("serverIndexCode", "serverIndexCode的值");jsonBody.put("picUri", "pirUri的值");String body = JSONString();//参数根据接口实际情况设置
// HttpResponse result = ArtemisHttpUtil.doPostStringImgArtemis(config, path, body, query, null,"application/json",head);HttpResponse result = ArtemisHttpUtil.doPostStringImgArtemis(config, path, body, null, null,"application/json",null);try {HttpResponse resp = result;if (302=StatusLine().getStatusCode()) {/*获取图片数据保存到本地注:1.对于有时效的图片,必须尽快保存到本地2.若无时效,则可以直接保存location,后续自行访问获取*/Header header= FirstHeader("location");//如果在config中的信息不能用,就在这儿写//String pre = "";//String ipaddr="IP:PORT";//picUri的值 在入参String newUrl =pre+ipaddr+picUri;HttpGet httpget = new HttpGet(newUrl);HttpClient httpClient = URI().getScheme()+"://"URI().getHost());HttpResponse execute = ute(httpget);HttpEntity entity = Entity();InputStream in = Content();System.out.println("in:"String());ImageTools.savePicToDisk(in);}else{System.out.println("下载出错");}} catch (Exception e) {e.printStackTrace();}return getSecurityApi;}
}
ImageTools.savePicToDisk(in);
import sun.misc.BASE64Encoder;import java.io.*;
import java.URL;public class ImageTools {/*** 下载网络图片时,转成Base64* @param in*/public static String savePicToDisk(InputStream in) {ByteArrayOutputStream data = new ByteArrayOutputStream();try {byte[] buf = new byte[1024];int len = -1;while ((len = in.read(buf)) != -1) {data.write(buf, 0, len);}//关闭流data.close();BASE64Encoder encoder = new BASE64Encoder();String encode = ByteArray());String result = placeAll("\s", "");
// System.out.println("faceData"+":"+result);return result;} catch (IOException e) {e.printStackTrace();} finally {try {in.close();} catch (IOException e) {e.printStackTrace();}}return "0";}
}
从数据库中获取的personId和picUri
调用方法
String baseStr = DownloadImageUtils.callPostImgs2(picUri);
转成Base64后,存数据库时,我用的是MySQL,这个字段我设置的是mediumText。也可以用BLOB你就可以自己随意操作了。
本文发布于:2024-02-04 20:05:17,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170715455559174.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |