我正在使用plupload。
传输队列完成后如何重置上传器,以便用户可以根据需要上传更多文件?
答案 0 :(得分:29)
uploader.splice();
将从队列中删除所有文件,并使上传器对象准备好重新开始。
答案 1 :(得分:8)
uploader.splice();
uploader.refresh();
按顺序...在jquery.ui模式下工作。
答案 2 :(得分:5)
现在可以选择在上传完成后自动重置队列小部件。
http://www.plupload.com/documentation.php
<强> multiple_queues 强>
布尔状态,如果您应该能够多次上传。
答案 3 :(得分:2)
jayarjo的解决方案会从上传程序中删除文件,但不会恢复添加/上传按钮。
这个有用......
答案 4 :(得分:1)
按顺序:
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
也许删除这些输入并不是一个好主意,但将它们恢复到初始状态可能会有效。我会调查它并在它开发时回来...感谢您提出的建议。
答案 5 :(得分: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();
});