3
我想通過XMLHttpRequest上傳文件。我創建type
集input
到file
和使用下面的語句使用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);
這個工程得到文件數據!但是,當使用dojox.form.Uploader
我WITE是這樣的:
var files = dijit.byId("dojoFileInput").getFileList();
var file = files[0];
var formData = new FormData();
formData.append("dojoFileInput", file);
.
.
.
xhr.send(formData);
這並不不工作!我不能使用dojox.form.Uploader
的upload
函數,因爲我需要在FormData
對象中發送一些附加數據。我使用這個說法
<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文件上傳器將文件發送到服務器的正確方法嗎?任何想法如何可以做到?
嗨@mwilcox是否有提交,我可以用來確保文件是否會在上傳前通過一定的條件?我在google chrome中得到了「失敗:連接重置」(這是由於目錄權限)。我確實收到了_HTML5.js和ProgressEvent返回的異常,但沒有任何幫助。 – pcproff