如何在dojo Multifile Uploader上传文件之前删除文件?

时间:2012-01-21 19:33:21

标签: dojo multifile-uploader

我在这里使用了dojox.form.uploader.FileList:https://github.com/chotchki/pgGallery/blob/master/src/main/webapp/WEB-INF/views/gallery/gallery.jsp#L129

我查看了API文档,找不到允许用户在点击上传之前从列表中删除文件的方法。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我也找不到解决办法,所以我写了这个小黑客,它只是扩展了dojox / form / Uploader。到目前为止它似乎对我有用,至少在Firefox中是这样。它将方法removeFile(index)和onRemove(file)方法添加到Uploader类。

您需要做的是在您的上传器元素上使用force =“iframe”或在对象上设置属性。

require(["dojo/_base/lang","dojox/form/Uploader","dojo/dom-construct","dojo/_base/array"],function(lang, Uploader, domConstruct, array){
    lang.extend(Uploader,{
        removeFile: function(index){
            if(this._inputs.length > index){

                //Delete input field from dom
                domConstruct.destroy(this._inputs[index]);

                //Delete file From input Array
                var _arr = new Array();
                var _file = this._inputs[index];
                array.forEach(this._inputs,function(n,i){
                    if(i != index){
                        _arr.push(n);
                    }
                });
                this._inputs = _arr;
                this.onRemove(_file);
            }

        },
        onRemove: function(file){

        }
    });
 });