Android에서 400 Error 문의드립니다

안녕하세요. 안드로이드로 비전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";
}

자답입니다.

post.addHeader(“Content-Type”, “multipart/form-data”);

부분을 제거해준 뒤 POST 요청을하니 정상적으로 작동하였습니다.

.NET에서는 addHeader를 2개 다 해주고 .addFile을 통해 파라미터를 줘야했는데

자바에서는 컨텐츠타입부분은 생략해도 괜찮은거 같습니다.