2009-09-24 7 views
1

사용자는 찾아보기 버튼을 클릭하여 시스템을 탐색해야합니다. 그러면 텍스트 파일을 선택합니다. & 클릭 OK. 일단 텍스트 파일의 모든 데이터가 텍스트로 표시되어야합니다. 어떻게해야합니까? JavaScript & C# aspx pages를 디자인하고 있습니다. 서버로의 왕복을 피하는 것이 좋습니다.자바 스크립트에서 텍스트 파일 읽기 및 표시

+0

그러면 IFrame을 사용하여 어떻게 할 수 있습니까? Gmail 첨부 파일의 측면 라인에있는 몇 가지 사항 – Janmejay

답변

3

나는 당신이 왕복 여행을 선호한다고 말한 것을 알고 있지만, 당신이 원하는 것을 성취 할 수있는 유일한 길입니다.

파일 업로드를 iframe에 넣고 백그라운드에서 업로드를 수행 할 수 있습니다 (페이지 새로 고침 없음, gmail이 :)) 그런 다음 AJAX를 사용하여 데이터를 다운로드하고 텍스트 영역에 삽입하십시오.

1

보안상의 이유로 JavaScript는 이와 같은 로컬 파일 시스템에 액세스 할 수 없습니다.

4

서버를 사용하지 않고는 파일을 가져올 수 없지만 파일의 내용을 가져 오는 유일한 방법은 양식의 일부로 제출하는 것입니다. 서버에 대한 여행을 XHR을 통해 iframe에서 발생시킨 다음 XHR 호출의 결과로 텍스트 영역을 업데이트 할 수 있으므로 일종의 것으로 보이지는 않지만 사용자가 직접 콘텐츠에 액세스 할 수는 없습니다. 분명한 이유 때문에 사용자 컴퓨터의 파일을

+0

ㅎ. 나 같은 대답, 당신은 단지 몇 초 안에 나를 이길 :) – TJMonk15

1

자바 스크립트는 사용자에게 심각한 보안 위험을 감수하지 않으면 그렇게 할 수 없습니다. 즉, 파일을 서버에 게시해야합니다.

0

여기에 다른 포스터가 나와 있기 때문에 Javascript에서 로컬 파일 시스템에 직접 액세스 할 수 없습니다. 하지만 서버에서 POST 입력 파일 형태로 작업을 설정하고 데이터를 응답에 즉시 반향시킬 수 있습니다. 페이지 내의 iframe을 POST POST 타겟으로 숨기면 해당 응답 데이터가 숨겨진 iframe에 나타날 수 있습니다. 그러면 페이지를 다시로드 할 필요가 없습니다. 그런 다음 iframe에 텍스트가로드되면 JS를 사용하여 iframe에서 텍스트를 가져 와서 관심있는 텍스트 영역에 넣을 수 있습니다.

또는 제한하려는 경우 확장 기능을 가진 파이어 폭스 사용자에게 익숙하지 않은 사용자라면 Greasemonkey 사용자 스크립트 (www.greasespot.com 참조) 또는 이와 유사한 사용자 모질라 확장 기능을 사용하여 왕복하지 않고도이 작업을 수행 할 수 있습니다.

2

일반적으로 대답은 여기에 나와 있습니다.

그러나 배열을 사용하여 Firefox 3 이상에서만 수행 할 수 있습니다. 다른 브라우저는 서버 왕복으로 돌아 가야합니다.

관련 문제