Javascript 使用dojox.form.Uploader和FormData上载文件

Javascript 使用dojox.form.Uploader和FormData上载文件,javascript,file-upload,dojo,Javascript,File Upload,Dojo,我正在尝试通过XMLHttpRequest上传文件。我创建一个input,将type设置为file,并使用下面的语句获取文件数据 var files = document.getElementById("fileInput").files; var file = files[0]; var formData = new FormData(); formData.append("fileInput", file); . . . xhr.send(formData); <div dojoTy

我正在尝试通过XMLHttpRequest上传文件。我创建一个
input
,将
type
设置为
file
,并使用下面的语句获取文件数据

var files = document.getElementById("fileInput").files;
var file = files[0];
var formData = new FormData();
formData.append("fileInput", file);
.
.
.
xhr.send(formData);
<div dojoType="dojox.form.Uploader" label="Select files..." id="dojoFileInput"></div>
这管用!但是当使用
dojox.form.Uploader
时,我会遇到如下情况:

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
对象中发送一些附加数据。我正在使用以下语句创建dojo文件上载程序

var files = document.getElementById("fileInput").files;
var file = files[0];
var formData = new FormData();
formData.append("fileInput", file);
.
.
.
xhr.send(formData);
<div dojoType="dojox.form.Uploader" label="Select files..." id="dojoFileInput"></div>
普通文件输入提供以下输出(实际上,每个部分下都有更多的信息,但这是压缩的):

文件{webkitRelativePath:,lastModifiedDate:Sat Nov 10 2012 19:42:45 GMT+0530(印度标准时间),名称:,类型:“image/png”,大小:115661}
最后修改日期:2012年11月10日星期六19:42:45 GMT+0530(印度标准时间)
__协议:无效日期
姓名:“
尺寸:115661
类型:“图像/png”
webkitRelativePath:“
__原型:文件
构造函数:函数文件(){[本机代码]}
参数:null
呼叫方:空
长度:0
名称:“文件”
原型:文件
toString:函数toString(){[本机代码]}
__原型:对象
__原型:水滴
构造函数:函数Blob(){[本机代码]}
切片:函数切片(){[本机代码]}
webkitSlice:函数webkitSlice(){[本机代码]}
__原型:对象
但是Dojo文件上载程序只提供一行输出:

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

Dojo没有提供可以发送到服务器的整个文件详细信息吗?这是使用dojo文件上传程序向服务器发送文件的正确方法吗?你知道怎么做吗?

上传程序有一个提交方法,允许你添加帖子数据。

嗨@mwilcox在提交之间有什么东西我可以用来确保文件在上传前是否通过某些条件?我在google chrome中得到“失败:连接重置”(这是由于目录权限)。我确实收到了HTML5.js和ProgressEvent返回的异常,但没有任何帮助。