tencentyun / image-java-sdk-v2.0

84 stars 73 forks source link

身份证识别-1408 #10

Open molofi opened 6 years ago

molofi commented 6 years ago
/**
     * 身份证识别请求
     * 
     * @param request 标签识别请求参数
     * @return JSON格式的字符串, 格式为{"code":$code, "message":"$mess"}, code为0表示成功, 其他为失败,
     *         message为success或者失败原因
     * @throws AbstractImageException SDK定义的Image异常, 通常是输入参数有误或者环境问题(如网络不通)
     */  
    public String idcardDetect(IdcardDetectRequest request) throws AbstractImageException {
        request.check_param();
        String sign = Sign.appSign(cred, request.getBucketName(), this.config.getSignExpired());
        String url = "http://" + this.config.getQCloudImageDomain() + this.config.getDetectionIdcard();

        HttpRequest httpRequest = new HttpRequest();
        httpRequest.setUrl(url);
        httpRequest.addHeader(RequestHeaderKey.Authorization, sign);
        httpRequest.addHeader(RequestHeaderKey.USER_AGENT, this.config.getUserAgent());

        httpRequest.addParam(RequestBodyKey.APPID, String.valueOf(cred.getAppId()));
        httpRequest.addParam(RequestBodyKey.BUCKET, request.getBucketName());
        httpRequest.addParam(RequestBodyKey.CARD_TYPE, String.valueOf(request.getCardType()));

        httpRequest.setMethod(HttpMethod.POST);
        if (request.isUrl()) {
            httpRequest.setContentType(HttpContentType.APPLICATION_JSON); 
            httpRequest.addParam(RequestBodyKey.URL_LIST, (request.getUrlList())); 
        } else {
            httpRequest.setContentType(HttpContentType.MULTIPART_FORM_DATA);
            HashMap<String, String> keys = request.getKeyList();
            HashMap<String, File> images = request.getImageList();
            for (String k : keys.keySet()) {
                httpRequest.addFile(keys.get(k), images.get(k));
            }
        }

        return httpClient.sendHttpRequest(httpRequest);
    }

this.config.getQCloudImageDomain() 是不是应该换成 this.config.getQCloudOcrDomain()

molofi commented 6 years ago

2018-08-15 16:41:17,251 [http-apr-80-exec-303] ERROR com.qcloud.image.ImageClient - idcardDetectoccur a exception, request:bucketName:qdx, message:{"code":-3,"message":"Unexpected response: Response{protocol=http/1.1, code=400, message=Bad Request, url=http://service.image.myqcloud.com/ocr/idcard}, content: {\n \"result_list\": [\n {\n \"code\": -1408,\n \"message\": \"ERROR_DOWNLOAD_IMAGE_SIZE_EXCEED\",\n \"url\": \"http://picture.jinyapay.com/upload/fileupload/shopImage/20180815/1534322228425.jpg\",\n \"data\": {\n \"detail_errorcode\": [],\n \"detail_errormsg\": []\n }\n }\n ]\n}"}