Я изучаю Laravel и пытаюсь создать веб-страницу для загрузки фотоальбомов. Я прочитал документацию laravel о проверке, и каждое поле проверяется. Однако после нажатия кнопки «Отправить» изображение не публикуется в методе store.
Маршрут устанавливается в сети. php
Route::get('/albums/create', 'AlbumsController@create')->name("album-create");
Route::post('/albums/store', 'AlbumsController@store')->name("album-store");
Код формы показан ниже:
<div class="container">
<h2> Create New Album </h2>
<form method="post" action="{{ route('album-store') }}" enctype="multipart/form-data">
<input type="hidden" name="_token" value="{{ csrf_token(@csrf) }}">
<div class="form-group">
<label for="name">Name</label>
<input type="text" class="form-control" name="name" id="name" placeholder="Enter Name: ">
</div>
<div class="form-group">
<label for="name">Description</label>
<input type="text" class="form-control" name="description" id="description" placeholder="Enter description">
</div>
<div class="form-group">
<label for="name">Cover Image</label>
<input type="file" class="form-control" name="cover_image" id="cover-image" placeholder="cover-image">
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
и, наконец, мы у меня есть функция контроллера ниже:
public function store(Request $request) {
$this->validate($request, [
'name' => 'required',
'description' => 'required',
'cover-image' => 'required'
]);
$filenameWithExtension = $request->file('cover-image')->getClientOriginalName();
$filename = pathinfo($filenameWithExtension, PATHINFO_FILENAME);
$extension = $request->file('cover-image')->getClientOriginalExtension();
// time stamping the images uplaoded
$filenameToStore = $filename . '_' . time() . '.' . $extension;
// saving the file to the disk (can be found in 'storage/app/public/album_covers..')
$request->file('cover-image')->storeAs('public/album_covers', $filenameToStore);
$album = new Album();
$album->name = $request->input('name');
$album->description = $request->input('description');
$album->cover_image = $filenameToStore;
$album->save();
Когда я нажимаю кнопку отправить на форме после заполнения полей, я все равно получаю сообщение об ошибке «Обложка-изображение» требуется. введите описание изображения здесь