我一直在研究新的多上传系统。目前一切都很好,但我遇到了问题。目前,除了多选表单项之外,'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',
});
任何人都知道如何解决它,我现在已经调试了很长时间。
谢谢
答案 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');
}
});
});