2015-02-02 1 views
1

나는 잠시 둘러 보았지만 여전히 만족스러운 간단한 대답을 발견하지 못했다. 해결책은 파일을 직접 백엔드로 보내거나 너무 복잡하게 보내는 것입니다. 이것은 그러나 undefined 저를 제공자바 스크립트에서 사용자가 선택한 파일을 읽으시겠습니까?

$("#"+id+" input").change(function() { 
    file = $(this).prop('files')[0] 
    var reader = new FileReader(); 
    readed = reader.readAsBinaryString(file) 
    console.log(readed) 
}); 

:

나는이 있습니다. 사용자가 선택한 파일을 읽고 내용을 읽는 간단한 방법이 있습니까?

+0

HTML도 게시 할 수 있습니까? jsfiddle은 굉장 할 것입니다! – jonode

+0

JavaScript로만 사용자의 컴퓨터에서 로컬 파일을 열려고하는 경우 사용자 브라우저에 보안 기능이 해제되어 있지 않으면 실제로 수행 할 수 없습니다 (아마도 발생하지 않을 것입니다). –

+2

@AlvaroMontoro - 그건 아닙니다. 사실. FileReader API로 가능합니다. – Quentin

답변

2

readAsBinaryString은 비동기 함수입니다. 데이터를 리턴하지 않습니다.

데이터를 읽었을 때 발생하는 이벤트 처리기를 만들어 FileReader 개체에서 읽어야합니다.

var file = $(this).prop('files')[0] 
var reader = new FileReader(); 
reader.onloadend = function() { 
    console.log(reader.result); 
} 
reader.readAsBinaryString(file) 
+0

감사합니다. 사실 당신이 대답하기 전에 해결책을 찾았습니다 :) – Pithikos

관련 문제