Uploadify / uploadifive-提交表单时的清除队列

问题描述 投票:3回答:2

我正在使用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队列吗?

javascript jquery jquery-plugins upload uploadify
2个回答
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
投票

在'onUploadComplete'函数中添加此代码行

$(this).uploadifive('cancel', $('.uploadifive-queue-item').data('file'));

$('#xyz_uploader').uploadifive('cancel', $('.uploadifive-queue-item').data('file'));
© www.soinside.com 2019 - 2024. All rights reserved.