비전 얼굴검출시 파일 업로드

안녕하세요 얼굴검출 api를 테스트 중인데
현재 image_url 방식으로 넘겼을시 결과데이터를 잘 받아옵니다.
그런데 file(업로드)로 전달 하면
{
“msg”: “illegal param.”,
“code”: -2
}

이런 결과가 나오는데…
파일 업로드시 어떻게 진행을 해야하는지?
업로드 셈플이 있는지? 파일 업로드시 타입이 바이너리형식인데
파일업로드 -> 이미지 바이너리변경 -> 변경 데이타로 post 이런식으로 진행을 하나요?

(그럼 파일업로드후 바이너리 변경 및 어떻게 post로 넘기는지 관련 셈플(파일 업로드로직)자료가 있으면 부탁드립니다.)

안녕하세요.
illegal param 에러는 api 호출시에 호출에 필요한 파라미터가 잘못 전달된 경우에 발생하는 에러입니다.
파일방식으로 업로드하실때, “file” 파라미터에는 이미지 파일 데이타를 넣어주시면 됩니다.
POST 호출 예제는 아래와 같이 주시면 가능합니다.

curl -v -X POST “https://kapi.kakao.com/v1/vision/face/detect” -F “file=@01.jpg” -H “Authorization: KakaoAK YOURKEY”

어떤 언어를 사용하셨는지와 호출 파라미터를 어떻게 주셨는지 알려주시면 확인이 가능할거 같습니다.

1개의 좋아요

php 언어를 사용하고 있습니다.
아래 로직입니다.

파일 업로드시에{“msg”: “illegal param.”,“code”: -2 }같은 에러가 나오는데…확인 부탁드립니다.

$aPostData = array(‘file’ =>"@1.jpg"); -> $aPostData = array(‘image_url’ =>“http://www.test.com/1.jpg”);
보내는 값을 image_url 형식으로 했을시에는 잘됩니다.

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $chAPIUrl );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(“Authorization: KakaoAK YOURKEY”, “‘Content-type:multipart/form-data’”));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($aPostData));
$aResult = curl_exec($ch);
curl_close($ch);
$aResult = json_decode($aResult, true);

아래와 같이 했을때 정상적으로 결과가 출력됩니다.

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $chAPIUrl );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(“Authorization: KakaoAK YOURKEY…”));
curl_setopt($ch, CURLOPT_POST, 1);
$file = new CurlFile(‘01.jpg’);
$aPostData = array(‘file’ => $file);
curl_setopt($ch, CURLOPT_POSTFIELDS, $aPostData);
$aResult = curl_exec($ch);
curl_close($ch);
$aResult = json_decode($aResult, true);
var_dump($aResult)

php 버전이 5.5 이하버전이라 CurlFile 이 안되네여…
풀어서 했더니 잘됩니다…
감사합니다…

그리고 테스트로 모바일에서접속해 셀카를 올렸더니…사진이 뒤틀려서 나옵니다.
이런경우는 어떻게 잡아야 할까요?..90도정도 틀어져서 나와여…
일반 사진은 괜챦은데…셀카만 그러네요?..
(이미지 업로드시 rotation처리를 해야하나여?)

답변 부탁드립니다.

네, 잘 되신다니 다행입니다.^^
업로드할때 정상적인 이미지를 업로드했는데, 출력값이 뒤틀려서 나온다는 말씀이신지요?
API에서 특별히 로테이션을 하고 있지는 않습니다.
뒤틀리는 경우의 이미지를 로테이션 처리가 필요한것 같습니다.

보통 셀카 사진은 세로 사진인데…
가로로 나와서 사진이 누워진체로 노출됩니다…
당연히 값도 정상 출력은 안되구요…
로테이션 로직은 따로 없는건가요?..

네, 로테이션 로직은 따로 지원하지 않고 있습니다.
현재로서는 업로드전에 로테이션 처리해주시는 방법만 가능할거 같습니다.

자바로 사용하는 방법두 알려주실수있나요??