Uploadifive - formData传递多选数组

时间:2012-12-27 15:26:59

标签: jquery uploadify

我一直在研究新的多上传系统。目前一切都很好,但我遇到了问题。目前,除了多选表单项之外,'formData'发送的所有相关表单数据都已通过。这应该是一个数组,但由于某种原因,它不会让我发送选定的选项。

var selectedAlbum = $('#upload_selection_albums').val();
var selectedFormats = $('#upload_selection_formats').val();

$('#file_upload').uploadifive({

'auto' : false,
'queueID' : 'queue',
'formData' : {'data_albums' : selectedAlbum,
'data_formats' : selectedFormats},
'uploadScript' : '/media/uploads/upload-file',

});

任何人都知道如何解决它,我现在已经调试了很长时间。

谢谢

1 个答案:

答案 0 :(得分:1)

正在进行适当的修复工作,结果证明这很简单。 formData元素不支持数组(据我所知)。所以我需要通过uploadScript属性传递我的额外表单数据。

$(function() {

        $('#file-upload-test').on('click', function() {

            var uploadSettingsForm = $('#upload');
            var uploadSettingsFormData;

            uploadSettingsFormData = decodeURIComponent(uploadSettingsForm.serialize());
            uploadSettingsFormData = '/media/uploads/upload-file?' + uploadSettingsFormData;
            console.log(uploadSettingsFormData);

            $('#file_upload').data('uploadifive').settings.uploadScript = uploadSettingsFormData;
            $('#file_upload').uploadifive('upload');

            return false;

        });

        $('#file_upload').uploadifive({

            'auto'         : false,
            'queueID'      : 'queue',
            'itemTemplate' : '<div class="progress progress-striped active uploadifive-queue-item"><div class="bar progress-bar"><span class="filename"></span><span class="fileinfo"></span></div></div>',       
            'onDrop'       : function(file, fileDropCount) {
                $('#queue').removeClass('drag-drop-overlay');
            },
            'onSelect'     : function(queue) {
                $('#queue').removeClass('drag-drop-overlay');
            }

        });

    });