Загрузка файлов для карточки Laravel
Есть код который должен загружать файл для карточки дома. Но файл не загружается, сам дом создается но поле passport не заполняется, а так же не создаётся папка на сервере.
Controller@store
$this->validate($request, [
'passport' => 'required'
]);
$homes = Houses::query()->create([
'passport' => $request->get('passport')
]);
$request->validate([
'file' => 'required|mimes:docs,txt,doc,xls,pdf,docx, docm,rtf,xps,xml|max:4098'
]);
$fileModel = new File;
if ($request->has('file')) {
$file = $request->file;
$ext = $file->getClientOriginalExtension();
$filename = pathinfo($file->getClientOriginalName(), PATHINFO_FILENAME);
$fileName = time() . '_' . $filename.'.'.$ext;
$filePath = $file->storeAs('passport_house', $fileName, 'public');
$fileModel->name = $fileName;
$fileModel->file_path = '/storage/' . $filePath;
$fileModel->save();
}
return redirect()->route('homes.index');
}
Где моя ошибка, покажите пожалуйста?
Ответы (1 шт):
Автор решения: Ayrat
→ Ссылка
Если файл не передается вовсе, то возможно не проставлена enctype= multipart/form-data на форме
<form enctype= multipart/form-data ...></form>
Для загрузки файлов рекомендую Laravel Media Library. Удобная вещь.