/**
* 身份证识别请求
*
* @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()