如何使用dojo上传图像?

时间:2013-07-02 00:44:24

标签: javascript dojo

有谁能告诉我如何使用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>

1 个答案:

答案 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