유저가 <input type="file">로 파일을 선택하면 전달받는 상자입니다. 상자 겉면의 송장(이름, 크기, 타입)만 읽을 수 있고, 아직 내용물은 볼 수 없습니다.
택배 상자를 뜯어 내용물을 브라우저가 이해할 수 있는 형태(텍스트, 이미지 URL 등)로 스캔해주는 기계입니다. 변환이 끝나면 onload 알림을 줍니다.
| 메서드 (읽기 방식) | 설명 및 반환 결과 (e.target.result) |
|---|---|
readAsDataURL(file) |
파일을 Base64로 인코딩된 문자열 형태의 Data URL로 읽어옵니다. 주로 <img> 태그의 src 속성에 넣어 이미지 미리보기를 구현할 때 가장 많이 사용됩니다. |
readAsText(file) |
파일을 일반적인 텍스트(문자열)로 읽어옵니다. 텍스트 파일(txt)이나 CSV, JSON 파일을 클라이언트에서 파싱할 때 유용합니다. |
readAsArrayBuffer(file) |
파일을 바이너리 데이터 버퍼인 ArrayBuffer로 읽어옵니다. 오디오/비디오 파일을 자르거나 웹소켓을 통한 스트리밍 전송 등 저수준의 데이터 조작이 필요할 때 사용됩니다. |