0

我在客户端有两个问题:

  1. 当文件发生变化时,如何删除文件列表中的旧文件,只上传新文件?

  2. 如果我有一个“全部删除”按钮,如何删除客户端中的所有文件?

我正在使用一个基本的插件。(jquery.fileupload.js)

4

1 回答 1

0

恩,我用自己的方法解决了这个问题,不知道好不好。我希望有更好的想法。

  1. 将 pfiles 选项添加到 blueimp.fileupload,就像在 jquery.fileupload.js 中一样:

    $.widget('blueimp.fileupload', {

    options: {
        // The drop target element(s), by the default the complete document.
        // Set to null to disable drag & drop support:
        dropZone: $(document),
        pfiles:null, // this is for marking the selected files
        // The paste target element(s), by the default the complete document.
        // Set to null to disable paste support:
        pasteZone: $(document)
      ...
    

    }}

  2. 在 _onAdd 函数中添加如下:

    _onAdd:函数(e,数据){...

         that.pfiles=new Array(); // files array
        $.each(fileSet || data.files, function (index, element) {
           ...
            };
            that.pfiles.push(newData); // add to array
            return (result = that._trigger('add', e, newData));
        });
        return result;
    }
    
  3. 像这样使用它时:

    $(function($) {'使用严格';

      $.widget('blueimp.fileupload', $.blueimp.fileupload, {
           _onChange : function(e) {
                this._cancelHandler();
                this._super(e);
           },
           _initEventHandlers : function() {
                this._super();
                this._on($('#cancel-button'), {
                     click : this.cancel
                });
           },
           cancel : function(e) {
                $('#file-upload-info-list').hide();
                $('#upload-file-preview').html('');
                this._cancelHandler();
           },
           // here the pfiles is used...
           _cancelHandler : function(e) {
                if(this.pfiles != null) {
                     $.each(this.pfiles, function(index, element) {
                          element.submit = null;
                     });
                     this.pfiles = null;
                }
           }
      });
    

    });

这是我的方式。

于 2012-12-21T08:54:09.323 回答