アップロードするたびにフォームデータを追加しようとしています。
私は今これを使っています。
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();
そのような運はありません。
何か案は?