2012-11-25 1 views
0

У меня две проблемы с клиентской стороны:Удалить файлы в стороне клиента и rewirte _onChage()

  1. Когда файлы изменились, как удалить старые файлы в списке файлов, и просто загрузить новые файлы?

  2. Если у меня есть кнопка «удалить все», как я могу удалить все файлы на стороне клиента?

Я использую базовый плагин. (jquery.fileupload.js)

ответ

0

ru, я использовал свой собственный способ решить эту проблему, я не знаю, что это хорошо. Я надеюсь на лучшие идеи.

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

    });

это мой путь.

Смежные вопросы