2012-11-25 50 views
0

我有兩個問題與客戶端:刪除在客戶端文件和rewirte _onChage()

  1. 當文件發生變化,如何刪除舊文件,在文件列表中, 和公正上傳新文件?

  2. 如果我有一個「全部刪除」按鈕,如何刪除客戶端的所有文件?

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

回答

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. in _onAdd function add like:

    _onAdd:function(e,data){...

     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. 當使用它像:

    $(函數($){ '使用嚴格';

    $.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; 
          } 
         } 
        }); 
    

    });

這是我的方式。