有谁能告诉我如何使用dojo将上传文件发送到iframe?
我试过很多插件,但没有一个对我有用
$.ajax()
,dojo.form.upload
。什么都没有sims为我工作。谢谢!
好的我用过这样的东西
dojo.require ( "dojox.form.Uploader");
dojo.require ( "dojox.form.uploader.plugins.IFra me");
<form method="post" action="UploadFile.php" id="myForm" enctype="multipart/form-data" >
<input name="uploadedfile" multiple="true" type="file" data- dojo- type="dojox.form.Uploader" label="Select Some Files" id="uploader" />
<input type="submit" label="Submit" data-dojo- type="dijit.form.Button" />
</form>
答案 0 :(得分:0)
我记得很难找到一个端到端的例子(不要以为我最终找到了一个),当我弄清楚它时,所以这里有一些关于我做了什么来使其工作(剪辑) 1.9)。
使用类似于以下内容的模板创建模板化小部件:
<div>
<form method="post" data-dojo-attach-point="form" enctype="multipart/form-data" id="documentForm">
<input data-dojo-attach-point="fileUploaderNode"/>
</form>
</div>
实例化您的文件上传器:
this.fileUploader = new dojox.form.Uploader({
label: 'Select a File',
multiple: false
}, this.fileUploaderNode);
然后有一个按钮,可以执行以下操作:
this.uploadButton = new Button({
label: 'Upload',
onClick: lang.hitch(this, function(){
iframe.post("someEndpoint", {
form: this.form.id
}).then(lang.hitch(this, function(data){
this._uploadCallback(data);
}), lang.hitch(this, function(err){
this._errorCallback(err);
}));
})
});
然后,您需要能够在服务器上解析multipart / form-data,将文档保存在任何地方并返回HttpResponse。如果您使用的是.NET 4.5,请查看使用Request.Content.ReadAsMultipartAsync