我正在使用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脚本命令清除uploadifive队列吗?
首先使用
$('#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"); }
});
尝试一下,它也将适用于你们。我在研究核心功能时发现了这一点。无论如何,从这里获得任何支持都是令人失望的。
在'onUploadComplete'函数中添加此代码行
$(this).uploadifive('cancel', $('.uploadifive-queue-item').data('file'));
或
$('#xyz_uploader').uploadifive('cancel', $('.uploadifive-queue-item').data('file'));