Я попробовал приведенный ниже код для загрузки файла в laravel, но он всегда go в false (это noimage.jpg). Ссылки и все уже связаны через ремесленника, но изображение, кажется, не достигает папки хранения. Ниже приведены мои коды для обработки файлов.
public function store(Request $request)
{
$this->validate($request,[
'title' => 'required',
'body'=>'required',
'cover_image' => 'image|nullable|max:1999'
]);
//Handle File pUpload
if($request->hasFile('cover_image'))
{
//Get Filename with the Extension
$filenameWithExt = $request->file('cover_image')->getClientOriginalName();
//Get Just File Name
$fileName = pathinfo($filenameWithExt,PATHINFO_FILENAME);
//Get Just Extension
$extension = $request->file('cover_image')->getClientOriginalExtension();
//Filename to Store
$fileNameToStore = $fileName.'_'.time().'.'.$extension;
//upload of Image
$path = $request->file('cover_image')->storeAs('public/cover_image',$fileNameToStore);
} else {
$fileNameToStore = 'noimage.jpg';
}
//Create Post
$post = new Post;
$post->title = $request->input('title');
$post->body = $request->input('body');
$post->user_id = auth()->user()->id;
$post->cover_image = $fileNameToStore;
$post->save();
return redirect('/posts')->with('success','Post Created');
}
С другой стороны, ниже приведен код для "Создать запись".
@extends('layouts.app')
@section('content')
<h1>Create Post</h1>
{!! Form::open(['action' => 'PostsController@store', 'POST','enctype' => 'multipart/form-data']) !!}
<div class="form-group">
{{Form::label('title','Title')}}
{{Form::text('title', '', ['class' => 'form-control', 'placegholder' => 'Title'])}}
</div>
<div class="form-group">
{{Form::label('body','Body')}}
{{Form::textarea('body', '', ['class' => 'form-control', 'placegholder' => 'body'])}}
</div>
<div class="form-group">
{{Form::file('cover-image')}}
</div>
{{Form::submit('Submit', ['class'=>'btn btn-primary'])}}
{!! Form::close() !!}
@endsection
, но результат в базе данных такой .
Кто-нибудь знает, где я ошибся? Большое вам спасибо.