Javascript 파일 읽기
input file type
브라우저에서는 보안상 로컬 파일에 직접 접근 할 수 없다.
input[type=file] 는 브라우저에서 유저가 직접 로컬의 파일을 선택할 수 있게 도와준다.
선택한 파일은 File 로 정의되고 FileList 에 담기게 된다.
이때 multiple 설정 여부와 관계없이 배열 형태로 FileList 로 담긴다.
let file = e.target.files[0];
위의 코드는 선택한 파일을 file에 담는 코드이다 위에서 말했듯이 multiple설정과 상관없이 배열형태로 담기기 때문에 files[0]으로 접근 한다.
let reader = new FileReader();
reader.readAsDataURL(file);
reader.onloadend = e => {
console.log(e.target.result)
};
이후 FileReader를 사용하여 해당 파일의 path를 알아 낼수 있다.
console.log(file.path) // c://fakePath/selectedFile.png
FileReader를 사용하지 않고 직접 파일의 Path에 접근 하면 위의 결과 처럼 fakePath라고 브라우저는 보여준다.
그렇기 때문에 FileReader를 사용하게 되는데 readAsDataURL로 파일의 경로를 가져오고 파일을 읽는 시간이 필요하기 때문에 비동기 함수인 onloadend를 사용하여 이벤트 타겟의 result에 경로가 담겨오게 된다. 이때 경로는 Base64포맷으로 넘어온다
Author And Source
이 문제에 관하여(Javascript 파일 읽기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@minmin9324/Javascript-파일-읽기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)