Не удается обработать данные формы, отправленные с несколькими файлами в контроллере laravel - PullRequest
0 голосов
/ 11 октября 2019

Итак, у меня есть вход с «несколькими» файлами, и я передаю его в форму данных, но в моем контроллере я могу получить доступ только к $ _POST ['Files']

Так в моем индексе. file Я отправляю файлы через ajax-запрос с данными формы,

var fileList=tr.children[29].children[0].files;

var fd2 = new FormData();
fd2.append('Files',filesArray);
fd2.append('_token',"{{ csrf_token() }}"); 

$.ajax({
            method: "POST",
            type: "POST",
            url:"{{ route('SaveFileInfo') }}",
            data:fd2,
            dataType:'multipart/form-data',
            processData: false,
            contentType: false,
            success: function(data){
                alert('sucess');
            },
            error:function(err){
                   console.log("error---> ", err);
            }
        });

В моем контроллере

public function saveFileInfo(Request $request) {

$fileList=$_POST['Files'];

var_dump($fileList);

foreach($fileList as $file){
    print_r($file);
}

Я пытаюсь получить доступ к своему [объектному списку файлов] и выполнить итерациюон похож на массив и сохраняет всю информацию о файлах в таблице (имя файла, размер, тип mime) ...

Проблема в том, что я не знаю, как управлять этим видом объектов. Могу ли я покрыть его массивом? Я пытался преобразовать в массив на стороне javascript, например,

var filesArray = JSON.stringify(Object.keys(fileList).map(i => fileList[i]));

, но это возвращает

[{},{}]

Любая идея, как справиться с этим на стороне сервера (laravel)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...