我在客户端有两个问题:
当文件发生变化时,如何删除文件列表中的旧文件,只上传新文件?
如果我有一个“全部删除”按钮,如何删除客户端中的所有文件?
我正在使用一个基本的插件。(jquery.fileupload.js)
我在客户端有两个问题:
当文件发生变化时,如何删除文件列表中的旧文件,只上传新文件?
如果我有一个“全部删除”按钮,如何删除客户端中的所有文件?
我正在使用一个基本的插件。(jquery.fileupload.js)
恩,我用自己的方法解决了这个问题,不知道好不好。我希望有更好的想法。
将 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)
...
}}
在 _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;
}
像这样使用它时:
$(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;
}
}
});
});
这是我的方式。