2011-03-05 3 views
9

그래서 "File"개체가 있습니다 (파일 끌어서 놓기를 데스크톱에서 처리 함으로서 검색 됨). 내가 아약스와 함께 서버에 파일을 보낼 수 있으며 그들을 다시 자바 스크립트를 던져 그들을 처리 할 수 ​​있습니다. 그러나이 모든 것을하지 않고도 내용을 읽을 수 있습니까?"file"개체의 내용을 읽으시겠습니까?

Here, play around with this fiddle. 임의의 파일을 상자로 끌어서 변수 file을 사용하십시오.

나는 이미이 객체의 모든 메소드를 시도해 보았습니다 ... 행운은 없습니다. 방금 브라우저로 드래그 한 파일의 내용을 가져올 수 있습니까?

PS :이 같은 서버에 파일을 보낼 것이다 :

var ajaxRequest = new XMLHttpRequest(); 
ajaxRequest.open("returnRawPostData.php"); 
ajaxRequest.send(file); 
나는 위의 코드에서 뭔가를 놓친 것,하지만 하나가 더 이상 AJAX 호출을 수행하는 일반 JS를 사용하지 않는해서 그건

.

+0

체크 아웃 http://stackoverflow.com/questions/2657653/drag-and-drop-file-upload-in-google-chrome-chromium – Detect

+1

내 질문에 대한 답변으로 생각하지 않습니다. – JCOC611

답변

16

, 나는이 함께했다 : read.result이 파일의 내용을 보유하고

var file = e.dataTransfer.files[0],read = new FileReader(); 

read.readAsBinaryString(file); 

read.onloadend = function(){ 
    console.log(read.result); 
} 

합니다.

+0

매력처럼 일했습니다! 둘 다 감사합니다! – Nefreo

7

나는 그것이 가능하다고 생각한다; 이 두 기사를 확인 :

  1. https://developer.mozilla.org/en/Using_files_from_web_applications
  2. http://hacks.mozilla.org/2011/01/how-to-develop-a-html5-image-uploader/

그들은 모두를 조작을하여 서버에 업로드하기 전에 JS/HTML을 통해 파일을 "떨어졌다". (예 : 그림 크기 조정 등) 도움이되기를 바랍니다. 마틴 Mally (! 덕분에 많은)에서 링크를 사용하여

+0

+1 감사합니다. ! – JCOC611

관련 문제