我正在使用uploadifive插件进行多文件上传。它工作得很好,但现在我发现我的实现中的一个错误是在创建记录后队列没有清除。如果创建了记录,则uploadifive应显示新记录的空队列,但它显示以前上载的旧排队文件。我的逻辑是Ajax和java脚本驱动,我提交表单后不刷新页面(如果页面刷新,那么队列是白色和干净的,这很明显:))。
以下是我用来为我的文件类型输入激活uploadifive的代码:
$('#xyz_uploader').uploadifive({
'fileTypeDesc' : 'Image Files',
'fileTypeExts' : '*.png;*.jpg;*.jpeg',
'fileType' : ['image/png','image/jpg','image/jpeg'],
'auto' : false,
'checkScript' : 'uploadify_envc.php?checkexist=true',
'formData' : {
'timestamp' : curDateTime,
'token' : 'df324523adg34qtfgiui',
'doc_type' : 'docs',
'somenewval' : $("select#dropdown_control").val(),
},
'buttonText' : 'Upload Document(s)',
'queueID' : 'xyz_uploader_queue',
'auto' : true,
'uploadScript' : 'uploadify_envc.php?injury='+$("select#dropdown_control").val(),
'onUploadComplete' : function(file, data) { HandleUploadiFiveDocs(file,data,"docs"); }
});
当我使用JS函数提交数据时,我调用此函数以返回Ajax调用以清除排队的文件:
$('#xyz_uploader').uploadifive('clearQueue');
但这不起作用。我已经通过浏览器控制台和java脚本函数对它进行了测试,但两者都无法正常工作。
那么你们能告诉我如何使用java-script命令清除uploadifive队列?
答案 0 :(得分:1)
首先使用
$('#xyz_uploader').uploadifive('destroy')
然后重新构建对象为我工作。如下:
$('#xyz_uploader').uploadifive({
'fileTypeDesc' : 'Image Files',
'fileTypeExts' : '*.png;*.jpg;*.jpeg',
'fileType' : ['image/png','image/jpg','image/jpeg'],
'auto' : false,
'checkScript' : 'uploadify_envc.php?checkexist=true',
'formData' : {
'timestamp' : curDateTime,
'token' : 'df324523adg34qtfgiui',
'doc_type' : 'docs',
'somenewval' : $("select#dropdown_control").val(),
},
'buttonText' : 'Upload Document(s)',
'queueID' : 'xyz_uploader_queue',
'auto' : true,
'uploadScript' : 'uploadify_envc.php?injury='+$("select#dropdown_control").val(),
'onUploadComplete' : function(file, data) { HandleUploadiFiveDocs(file,data,"docs"); }
});
尝试一下,它也适用于你们。我发现在研究核心功能时。无论如何,没有得到这里的支持是令人失望的。
答案 1 :(得分:1)
在您的' onUploadComplete'中添加以下代码。功能
$(this).uploadifive('cancel', $('.uploadifive-queue-item').data('file'));
或
$('#xyz_uploader').uploadifive('cancel', $('.uploadifive-queue-item').data('file'));