0

私は新しいマルチアップロードシステムに取り組んできました。現在、すべてがうまく機能していますが、問題が発生します。現在、複数選択フォームアイテムを除いて、「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',

});

誰もがそれを解決する方法を知っています、私は何年もの間デバッグしてきました。

ありがとう

4

1 に答える 1

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');
            }

        });

    });
于 2012-12-29T18:04:42.773 に答える