2013-03-05 1 views
2

로컬 컴퓨터에서 텍스트 파일을 읽고 내용을 변수에 넣고 싶습니다. 내가 찾은 모든 예제는 함수에 의해 "evt"로 퍼 올려지는 인수를 전달하는 입력 버튼 (type = "file")을 사용합니다. 간단히 "mydata.txt"와 같은 파일 이름을 전달합니다.HTML5에 파일 이름 문자열을 사용하는 방법 입력 버튼 대신에 readAsText

아약스로 할 수 있지만 XAMPP없이 사용하고 싶습니다.

function readSingleFile(evt) 
{ 
    var f = evt.target.files[0]; 

    if (f) 
    { 
     var r = new FileReader(); 
     r.onload = function(e) 
     { 
      var contents = e.target.result; 
      document.getElementById('div1').innerHTML = contents; 
     } 
     r.readAsText(f); 
    } 
    else 
    {    
     alert("Failed to load file"); 
    } 
} 

답변

1

AJAX를 사용하면 서버에있는 파일을 읽을 수 있습니다.

보안상의 이유로 클라이언트 파일 시스템에서 임의의 경로를 읽을 수 없습니다.
<input type="file" />사용자이 파일을 선택할 수있게하므로 안전합니다.

+1

나는 약간 혼란 스럽다. 로컬 머신''에서 스크립트를로드 할 수 있습니다. 나는 텍스트 파일의 내용처럼 거기에 모든 종류의 것들을 넣을 수 있습니다. 그것은 내가 원하는 방식으로 텍스트 서식을 지정하는 일을 제외하고. – wubbewubbewubbe

+0

@wubbewubbewubbe : 틀렸어. 서버에서 스크립트를로드합니다. 파일과 동일한 경로에있는 서버로 HTTP 요청을 보냅니다. – SLaks

+0

XAMPP를 실행하지 않고 내 로컬 컴퓨터에서 작동하기 때문에 여전히 혼란 스럽습니다. – wubbewubbewubbe