Java 调用 imgSecCheck校验一张图片是否含有违法违规内容
发布于 4 年前 作者 chao49 4575 次浏览 来自 分享

我在网上看了一堆文章,很多人调用失败的一个原因是这个文档写得有问题。

上传图片不需要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;
    }
}

这个图片的二进制数据可以从任何来源中获取

回到顶部