0

クライアント側で2つの問題があります。

  1. ファイルが変更された場合、ファイルリストにある古いファイルを削除して、新しいファイルをアップロードするにはどうすればよいですか?

  2. 「すべて削除」ボタンがある場合、クライアント側のすべてのファイルを削除するにはどうすればよいですか?

基本的なプラグインを使用しています。(jquery.fileupload.js)

4

1 に答える 1

0

en、私はこれを解決するために私自身の方法を使用しました、私はそれが良いかどうかを知りませんでした。より良いアイデアを期待しています。

  1. jquery.fileupload.jsのように、pfilesオプションをblueimp.fileuploadに追加します。

    $ .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: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. 次のように使用する場合:

    $(function($){'use strict';

      $.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 に答える