Загрузка картинок в laravel через ajax
HTML @csrf method=post
<input class="show-for-sr" type="file" id="upload_imgs" name="upload_imgs[]" multiple>
JS
$.ajax({
url: $(this).attr('action'),
method: "POST",
data: new FormData(this),
dataType: 'JSON',
contentType: false,
cache: false,
processData: false,
success: function(data) {
console.log('gg ', data);
}
});
Controller
if ($_POST) {
$path = $request->file('upload_imgs');
return dd($path); // возвращает без ошибок
}
Как только хочу сказать нашему фреймворку что нужно поместить файлы в папку public/folder возникает ошибка.
$path = $request->file('upload_imgs')->store('public/article-images');
Ответы (1 шт):
Автор решения: UKRman
→ Ссылка
Всьо правильно - метод store() находиться в объекте UploadedFile ( i.imgur.com/4cBXDU5.png ), а метод file() переменой $request может возвращать как экземпляр объекта UploadedFile так и массив экземпляров ( i.imgur.com/HES3GQb.png ), и как вы возможно уже догадываетесь, вы пытаетесь вызвать метод store() в массива) Нужно написать проверку, на то являет сали результат метода file() массивом объектов, и в случае чего запускать цикл для сохранения по штучно.