Java 调用 imgSecCheck校验一张图片是否含有违法违规内容
我在网上看了一堆文章,很多人调用失败的一个原因是这个文档写得有问题。
上传图片不需要media这个参数,直接把图片的数据写在http请求的body中就ok了。
public boolean isSecurityImage(byte[] image) {
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
HttpEntity<byte[]> request = new HttpEntity<>(image, headers);
try {
String url = String.format(img_check, getAccessToken());
ResponseEntity entity = restTemplate.postForEntity(url, request, String.class);
Response response = parseResponse(entity.getBody(), Response.class);
if(response.getErrcode() == 0){
return true;
}
else if(response.getErrcode() == 87014) {
return false;
}
else {
log.info("check security error response {}", response);
return true;
}
} catch (Throwable throwable) {
log.error("check security error", throwable);
return true;
}
}
这个图片的二进制数据可以从任何来源中获取