2012-03-27 3 views
3

배경 : (불꽃 앞에서 읽으십시오)Javascript 또는 Jquery를 통해 웹 페이지에 로컬 파일을 읽는 방법은 무엇입니까?

사용자가 로컬 장치의 HTML "파일 입력"에서 텍스트 파일을 선택하고 업로드 버튼을 클릭 할 수있게하려고합니다. 나는 파일을 직접 업로드하고 싶지 않다. 자바 스크립트가 유효성 검사를하고 포맷팅을 한 다음 사용자에게 형식화 된 결과를 표시하고 싶다. 사용자가 유효성 검사 및 형식 지정 결과에 따라 원하는 작업에 대한 여러 가지 옵션을 제공합니다. (예, 서버 측에서도 유효합니다.)

이것은 AJAX 요청이 아니며 사용자가 파일을 선택하고 업로드 한 다음 javascript가 파일의 유효성을 검사하고 형식을 지정하여 요청합니다.

질문 :

는이 자바 스크립트 또는 jQuery를하여 사용자가보고 분석 할 수있는 HTML 웹 페이지에 (업로드 사용자가 선택한) 파일을 읽을 수 있습니까? 가능하다면 어떻게 될까요?

Firefox, Opera, Safari, Chrome 및 IE8 + 기본 브라우저를 지원해야합니다.

+0

[HTML5에는 몇 가지 로컬 파일 액세스 권한이 있습니다.] (http://www.html5rocks.com/en/tutorials/file/dndfiles/), 사용자가 널리 사용할 수는 없습니다. IE8은 분명히 테이블에서 벗어났습니다. 구형 브라우저 지원을 원할 경우 먼저 파일을 서버에 업로드해야합니다. – Blazemonger

+0

왜 JavaScript를 사용하여 파일을 읽습니까? 그냥 서버 측에있는 업로드 된 파일을 서버의 페이지에 포함시킬 수는 없습니까? 그런 다음 JavaScript를 사용하여 파일 내용을 DOM에있는 그대로 재생할 수 있습니다. – kiswa

+0

또한이 토론의 다양한 옵션을 살펴보십시오. http://stackoverflow.com/questions/585234/how-to-read-and-write-into-file-using-javascript – robasta

답변

5

가장 가까운 것은 FileReader API이며 현재 초안은 limited browser support입니다.

더 많은 지원을 받으려면 서명 된 Java 애플릿을 사용해야합니다 (Java 플러그인이 설치된 사람들에 따라 시작해야 할 수도 있음).

+0

링크 (매우 편리합니다)를 보내 주셔서 감사 드리며, HTML5는 아직 지원되지 않습니다. 내가 표준 업로드로 붙어있을 것 같습니다. 불행히도이 특별한 경우에는 플래시 나 자바 같은 플러그인을 사용할 수 없습니다. – user1295718

+0

FileReader는 자체 사양입니다. HTML 5에는 포함되어 있지 않습니다. – Quentin

0

미완성 기술과 지원되지 않는 기술 외에 2 가지 방법 만 생각할 수 있습니다.

  1. 가 서버에 사용자의 업로드 IT와 서버가 당신이 어떤 검증을 할 수 있도록 다시 전송하는 2 단계 프로세스를 가지고, 그 검증은 아닌 것처럼 (서버로 다시 보내 완료되면 업로드, 이미 데이터가 있음).

  2. 플래시에 디스크 액세스 권한이 있으면 파일을 허용하는 작은 플래시 무비를 작성한 다음 자바 스크립트로 전달하지만 플래시에 따라 달라질 수 있습니다.

+0

플래시를 사용하면 FileReader와 같은 파일 내용을 읽을 수 없습니다. – Esailija

+0

http://snipplr.com/view/2937/ – nathanjosiah

관련 문제