0

이진 데이터 (image/png)를 반환하기 위해 API 게이트웨이 (AWS)를 설정했습니다. 내 API를 읽고 람다에서 성공적으로 기본 64을 해독 한 다음 이진 데이터를 반환했지만 브라우저에 표시 할 수 없습니다. 이 내 게이트웨이 로그입니다 : 나는 우체부에서 요청하면AWS Api 게이트웨이의 이진 데이터

Api gateway's log

,이 표시되지 않을 수 있으며, 반응은 base64로 데이터입니다 :

Image response

사람이 경우에 도와 줄 수 ? 감사합니다.

+0

콘텐츠를 utf-8로 변환하려고 시도 했습니까? 이렇게 : context.succeed (content.Body.toString ('utf-8')); – Conti

답변

0

api 게이트웨이에서 가져온 데이터는 바이너리 데이터입니다. 출력을 파일에 쓰고 저장하십시오. 이미지 파일이어야합니다.

동일한 사용 사례를 수행하고 있지만 api-gateway에 실패했습니다. api-gateway 코드를 공유 할 수 있습니까?

0

브라우저에서 이미지를 가져 오는 경우 브라우저는 수락 헤더를 Accept: image/webp,image/apng,image/*,*/*;q=0.8과 같이 설정하고 API 게이트웨이는 수락 헤더에서 첫 번째 값만 가져옵니다.

첫 번째 값이 binaryMediaTypes의 패턴과 일치하면 API 게이트웨이는이를 binary 데이터로 간주하여 base64 String을 이진 데이터로 변환하거나 이진 데이터를 전달합니다.

클라이언트/브라우저의 Accepts 헤더를 기반으로 동작이 변경되지 않으면 통합 응답에서 contentHandling 속성을 CONVERT_TO_BINARY으로 설정하면 API 게이트웨이가 Accepts 헤더를 무시합니다.

image/*을 API의 binaryMediaTypes에 넣은 다음 API를 다시 배포하고 브라우저에서 다시 시도해 볼 것을 제안합니다. 이진 데이터로 반환되어야합니다.