2012-11-13 3 views
3

XMLHttpRequest를 통해 파일을 업로드하려고합니다. 나는 filetype 세트와 input을 만들고 아래의 문dojox.form.Uploader 및 FormData를 사용하여 파일 업로드

이 작동
var files = document.getElementById("fileInput").files; 
var file = files[0]; 
var formData = new FormData(); 
formData.append("fileInput", file); 
. 
. 
. 
xhr.send(formData); 

을 사용하여 파일 데이터를 얻을!

var files = dijit.byId("dojoFileInput").getFileList(); 
var file = files[0]; 
var formData = new FormData(); 
formData.append("dojoFileInput", file); 
. 
. 
. 
xhr.send(formData); 

이 수행 하지 작업 : 사용하는 경우 그러나 dojox.form.Uploader 내가 이런 걸 프랑수아! FormData 개체에서 몇 가지 추가 데이터를 보내야하므로 dojox.form.Uploader이라는 upload 함수를 사용할 수 없습니다. 내가이 문을 사용하여 콘솔에서 파일 데이터를 인쇄하려고

<div dojoType="dojox.form.Uploader" label="Select files..." id="dojoFileInput"></div> 

이 문을 사용하여 도장 파일 업 로더를 만드는 오전 :

console.log(document.getElementById("fileInput").files[0]); // Normal file input 
var files = dijit.byId("dojoFileInput").getFileList(); // Dojo file input 
console.log(files[0]); 

정상적인 파일 입력은 다음과 같은 출력을 제공을 (사실은 많이있다 더 각 섹션에서이 이상의 정보 만이이 응축되어있다).

File {webkitRelativePath: "", lastModifiedDate: Sat Nov 10 2012 19:42:45 GMT+0530 (India Standard Time), name: "<FILE NAME>", type: "image/png", size: 115661} 
    lastModifiedDate: Sat Nov 10 2012 19:42:45 GMT+0530 (India Standard Time) 
     __proto__: Invalid Date 
     name: "<FILE NAME>" 
     size: 115661 
     type: "image/png" 
     webkitRelativePath: "" 
    __proto__: File 
     constructor: function File() { [native code] } 
     arguments: null 
     caller: null 
     length: 0 
     name: "File" 
     prototype: File 
     toString: function toString() { [native code] } 
     __proto__: Object 
     <function scope> 
    __proto__: Blob 
     constructor: function Blob() { [native code] } 
     slice: function slice() { [native code] } 
     webkitSlice: function webkitSlice() { [native code] } 
     __proto__: Object 

그러나 도장 파일 업 로더는 하나의 라인 출력을 제공합니다

Object {index: 0, name: "<FILE NAME>", size: 115661, type: "image/png"} 

서버로 보낼 수있는 전체 파일 세부 사항을 Dojo가 제공하지 않습니까? Dojo 파일 업 로더를 사용하여 서버로 파일을 보내는 올바른 방법입니까? 그의 아이디어는 어떻게 할 수 있습니까?

답변

1

업 로더에는 제출 메서드가있어 포스트 데이터를 추가 할 수 있습니다.

+0

안녕하세요 @ mwilcox 내가 파일을 업로드하기 전에 특정 조건을 통과하는지 확인하는 데 사용할 수있는 제출 사이에 뭔가가 무엇입니까? Google 크롬 (디렉토리 사용 권한 때문 임)에서 "연결이 재설정되었습니다."라는 메시지가 표시됩니다. _HTML5.js 및 ProgressEvent에 의해 예외가 반환되지만 아무것도 도움이되지 않습니다. – pcproff

관련 문제