我正在尝试在每次上传时添加额外的表单数据。
我现在正在使用这个。
var data = {
formData : {
vendor: '{{ $vendor }}',
extension: '{{ $extension }}'
},
acceptFileTypes: /^({{ str_replace('/', '\/', implode('|', $mimes)) }})$/i,
uploadTemplateId: 'media-upload-template-{{$identifier}}',
downloadTemplateId: 'media-download-template-{{$identifier}}',
// jQuery plugin requires size in Bytes, Laravel uses KB
maxFileSize: {{ ($_valid = (int) $max_file_size) ? $_valid * 1024 : 'undefined' }}
}
// Grab the CSRF data
if ((csrf = $('#media-upload-csrf-{{$identifier}}')) && csrf.length) {
data.formData[csrf.attr('name')] = csrf.val();
}
$('#media-upload-{{$identifier}}').fileupload(data);
$('#media-upload-{{$identifier}}').bind('fileuploadsubmit', function (e, data) {
var inputs = data.context.find(':input');
if (inputs.filter('[required][value=""]').first().focus().length) {
return false;
}
data.formData = inputs.serializeArray();
});
我正在为每个文件添加一个用户 ID,因此 userid[] 将等于 n,这来自上传模板中文件旁边的选择
使用时出现问题
data.formData = inputs.serializeArray();
它会覆盖上面数据变量中的所有设置。
我也尝试过使用
$.each(inputs.serializeArray(), function(i, obj) {
data.formData[obj.name] =obj.value;
});
代替
data.formData = inputs.serializeArray();
没有这样的运气。
有任何想法吗?