웹에서 JS 언어만으로 로컬에 저장된 텍스트 파일을 읽어 오는 코드를 정리한 글이다. 먼저 아래는 예제 코드 실행을 위한 DOM 구성에 대한 코드이다.
...
Open 버튼을 클릭하면 텍스트 파일을 선택할 수 있는 대화상자가 표시되도록 하며, 여기서 읽고자 하는 파일을 사용자가 선택하면 id가 output인 div에 텍스트 파일의 내용을 출력한다. 이에 대한 코드는 아래와 같다.
function openTextFile() { var input = document.createElement("input"); input.type = "file"; input.accept = "text/plain"; // 확장자가 xxx, yyy 일때, ".xxx, .yyy" input.onchange = function (event) { processFile(event.target.files[0]); }; input.click(); } function processFile(file) { var reader = new FileReader(); reader.onload = function () { output.innerText = reader.result; }; reader.readAsText(file, /* optional */ "euc-kr"); }
openTextFile은 Open 버튼 클릭시 호출하는 함수이다. processFile은 openTextFile에서 호출되는 함수로 선택된 파일을 읽어 div에 그 내용을 출력한다. IE와 Chrome 모두에서 정상적으로 작동하는 것을 확인했다.