2013-02-09 15 views
9

내 모바일 응용 프로그램이 내 서버에 이미지를 업로드 할 수있게하려면 내 경우에는 레일 3.2.11nginx입니다.Base64 이미지 업로드 VS 이진 이미지 업로드?

Base64 인코딩을 읽고 클라이언트 측에서 인코딩 한 다음 서버 측에서 디코딩합니다.

왜 그냥 HTTP 요청에 다중 헤더 업로드를 사용합니까?

각 기술에 대해 의 찬성/반대이 있습니까?

답변

16

Base64는 데이터를 ASCII 데이터로 변환합니다. 예를 들어 JSON과 같은 텍스트 스트림에 데이터를 임베드 할 수 있습니다. Base64는 전송 된 데이터의 크기를 33 % 늘립니다.

multipart/form-data은 HTTP 요청에서 이진 데이터를 전송하는 표준 방법입니다. 전송하려는 각 파트에 대해 특정 인코딩/내용 유형을 사용할 수 있습니다. 필자는 특정 요구 사항이나 장치/SDK 기능이없는 경우 멀티 파트 업로드를 계속해야한다고 생각합니다.

1

'HTTP 요청에서 멀티 파트 헤더와 함께 바이너리 업로드를 사용하지 않는 이유는 무엇입니까?' 실제로 왜 그렇지 않습니까;)

Base64 이미지 표현은 이미지를 렌더링하기 위해 html 내에 직접 배치 할 수 있습니다.

이진수는 공간을 덜 차지합니다. 또한 네트워크 효과 및 표준화의 이점을 누릴 수 있습니다. 예 : 아마존의 간단한 보안 저장소 S3를 사용하려면 바이너리 파일을 저장해야합니다. 예를 들어 키/값 저장소가 필요한 문자열을 저장할 수 없습니다. redis.