Итак, у меня есть вход с «несколькими» файлами, и я передаю его в форму данных, но в моем контроллере я могу получить доступ только к $ _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)?