我正在使用plupload。
传输队列完成后如何重置上传器,以便用户可以根据需要上传更多文件?
uploader.splice();
将从队列中删除所有文件并使上传者对象准备好重新开始。
uploader.splice();
uploader.refresh();
在那个序列中......适用于 jquery.ui 模式。
jayarjo 的解决方案会从上传程序中删除文件,但不会恢复添加/上传按钮。
这个有效...
在这个序列中:
var uploader = $('#uploader').plupload('getUploader');
uploader.splice();
uploader.refresh();
我正在使用使用其他内容重置表单但无法重置 plupload 的功能。我不介意它不会再次出现 Drag Files here 文本,尽管我认为它可以被蒙混过关。它可能与计数有关。例如,我有这些参数:
uploader_0_name account-disabled-1.png
uploader_0_status done
uploader_count 1
也许删除这些输入不是一个好主意,但将它们恢复到初始状态可能会起作用。我会研究一下,并在它发展时回来。谢谢你的好建议。
我绑定到 UploadComplete 事件以在上传完成时删除并重新初始化 plupload 对象。事实证明,这对我来说是最好的实现。
有了这个实现,只需调用 init_uploader() 来初始化——在这种情况下,jquery 页面加载完成。
HTML:
<div id="uploader_wrapper"></div>
Javascript:
function init_uploader()
{
$("#uploader_wrapper").append('<div id="uploader"><img src="/images/loading.gif" /></div>');
$("#uploader").pluploadQueue({
runtimes: 'html5,html4,gears,browserplus,flash,silverlight',
url: 'some_url',
max_file_size: '10mb',
chunk_size: '1mb',
unique_names: true,
filters: [
{ title: "Image files", extensions: "jpg,gif,png,jpeg" }
],
flash_swf_url: 'http://www.plupload.com/plupload/js/plupload.flash.swf',
silverlight_xap_url: 'http://www.plupload.com/plupload/js/plupload.silverlight.xap'
});
var uploader = $('#uploader').pluploadQueue();
uploader.bind("UploadComplete", function () {
$("#uploader").remove();
init_uploader();
});
}
$(function () {
init_uploader();
});