image-transferbase64serialization

JSON으로 이미지를 전달하려면 어떻게 해야 하나요?

예상 시간
7
30초 답변

꼬리질문

조금 더 깊게 물어본다면

답변 뒤에 이어질 수 있는 질문들을 하나씩 열어볼 수 있어요.

Base64로 인코딩하면 용량이 얼마나 커지나요?

부가 설명

Base64는 binary data를 ASCII 문자열로 바꿔 text 기반 protocol에서 안전하게 전달하기 위한 인코딩 방식입니다. 예를 들어 JSON에 다음처럼 담을 수 있습니다.

{
  "image": "data:image/png;base64,iVBORw0KGgo..."
}

하지만 이 방식은 파일이 커질수록 비효율적입니다. JSON parsing 비용도 커지고, network payload도 증가하며, browser나 server memory 사용량도 늘 수 있습니다.

대안으로는 다음 방식이 있습니다.

  • multipart/form-data로 이미지 binary를 직접 업로드합니다.
  • 이미지를 storage에 업로드하고 JSON에는 URL만 전달합니다.
  • 큰 파일은 chunk upload나 resumable upload를 사용합니다.

한 줄 정리

JSON으로 이미지를 전달할 때는 Base64로 문자열화할 수 있지만, 큰 이미지는 URL이나 multipart upload로 분리하는 편이 보통 더 적합합니다.