안녕하세요. 안드로이드로 비전API의 OCR 기능을 호출하려고 하는데 400 Error -911 invalid image 라는 문구를 확인했습니다.
제 앱으로 촬영한 이미지를 따로 저장하는게 아닌 Bitmap 파일을 바로 ByteArray로 변환하여 붙이는 방식으로 이용하려 합니다.
파라미터를 POST 하는 부분이 잘못된 걸까요?
실력자분들의 도움을 기다립니다…
public String KakaoOcr(byte[] imageBytes){
try {
HttpClient client = HttpClientBuilder.create().build();
HttpPost post = new HttpPost(KakaoOcrUrl);
HttpEntity requestEntity = MultipartEntityBuilder.create()
.addBinaryBody("image",imageBytes, ContentType.DEFAULT_BINARY,"test.jpg")
.build();
post.setHeader("Authorization", "KakaoAK " + KakaoRestApiKey);
post.addHeader("Content-Type", "multipart/form-data");
post.setEntity(requestEntity);
HttpResponse response = client.execute(post);
String status = EntityUtils.toString(response.getEntity());
if (response.getStatusLine().getStatusCode() == 200) {
ResponseHandler<String> handler = new BasicResponseHandler();
String body = handler.handleResponse(response);
System.out.println(body);
return body;
} else {
System.out.println("response is error : " + response.getStatusLine().getStatusCode());
}
} catch (Exception e){
System.err.println(e.toString());
}
return "0";
}