강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

컴퓨터공부하자님의 프로필 이미지
컴퓨터공부하자

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

예제로 구현하는 파일 업로드, 다운로드

String에서 String으로 인코딩 한다는 개념이 이해가 안 갑니다!

작성

·

365

0

String body = StreamUtils.copyToString(inputStream, StandardCharsets.UTF_8);

이건 말이 되는 것 같은데

String uploadFileName = item.getAttachFile().getUploadFileName();

String encodedUploadFileName = UriUtils.encode(uploadFileName, StandardCharsets.UTF_8);

이건 스트링에서 스트링으로 인코딩 한다는 뜻인데 스트링에서 스트링으로 인코딩할 필요가 있는건가요? 왜냐하면 String 데이터 형식은 메모리상에 유니코드 형태로 압축되지 않은 문자 데이터가 온전히 있다는 뜻이잖아요?

퀴즈

51%나 틀려요. 한번 도전해보세요!

일반적인 HTML 폼 전송 방식(`x-www-form-urlencoded`)과 파일 업로드 시 사용하는 방식(`multipart/form-data`)의 주요 차이점은 무엇일까요?

전자는 텍스트만, 후자는 바이너리 데이터를 포함할 수 있습니다.

전자는 GET, 후자는 POST 메서드만 사용합니다.

전자는 헤더만, 후자는 바디만 전송합니다.

전자는 암호화되고, 후자는 암호화되지 않습니다.

답변 1

2

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 컴퓨터공부하자님

HTTP 헤더는 ASCII + 일부 특수문자만 이해할 수 있습니다. (ISO-8859-1 축소 호환)

encodedUploadFileName은 HTTP 헤더에 전달해야 하기 때문에 이 포멧을 따라야 합니다. 따라서 %인코딩을 해주어야 합니다.

비슷한 질문에 답을 달아두었습니다.

https://www.inflearn.com/questions/252621

감사합니다.

컴퓨터공부하자님의 프로필 이미지
컴퓨터공부하자

작성한 질문수

질문하기