2012-03-18 4 views
1

파일을 로컬에서 선택하고 그것을 해석하기 위해 한 줄씩 텍스트를 읽으려고합니다. 내 프로그램은 텍스트 파일을 읽고 테스트 프로그램을 만들기 위해 질문을 읽는 것을 의미합니다. 파일을 업로드하지 말고 로컬에서만 읽어야합니다. 솔루션이 크롬과 파이어 폭스에서만 작동한다면 괜찮습니다.자바 스크립트로 로컬 텍스트 파일을 읽으려면 어떻게해야합니까?

나는 많은 것을 조사해 보았지만 지금까지 보았던 것은 보안상의 이유로 불가능하거나 제대로 작동하지 않는다는 것입니다. I

이 내 현재 코드입니다 : http://pastebin.com/uKvEfvZZ

+1

안녕,이 도움이 될 : http://stackoverflow.com/questions/7466387/read-2-text-files-with-javascript ; 건배! –

답변

4

사용 HTML5 file API. 파일을 로컬에서 선택하고 읽을 수 있습니다.

+0

그것은 실제로 내가 전에 시도했던 것입니다. 제대로 작동하지 않는 것 같습니다. –

+0

최신 브라우저에서만 지원됩니다. xdazz의 데모를 확인하십시오 – Nemoy

+0

로컬에서는 아니지만이 기능은 작동합니다 (at least at chrome atleast). 나는 그것을 모두에게 잊어 버렸다. 내가 웹 호스트에서 그것을 시도했을 때 그것은 완벽하게 좋았다. –

5

여기는 demo입니다.

HTML :

<input type="file" id="fileinput" multiple /> 

JS :

function readMultipleFiles(evt) { 
    //Retrieve all the files from the FileList object 
    var files = evt.target.files; 

    if (files) { 
     for (var i = 0, f; f = files[i]; i++) { 
      var r = new FileReader(); 
      r.onload = (function (f) { 
       return function (e) { 
        var contents = e.target.result; 
        alert(contents); 
       }; 
      })(f); 
      r.readAsText(f); 
     } 
    } else { 
     alert("Failed to load files"); 
    } 
} 
document.getElementById('fileinput').addEventListener('change', readMultipleFiles, false);​ 
+0

이전과 비슷한 코드를 사용했는데 일부 오류가있었습니다. 이것은 많은 도움이되었습니다, 감사합니다! –

+0

순수 JS로 작성된 훌륭한 예! 감사 – Michael

관련 문제