Загрузка изображения.
\resources\views\admin\post\edit.blade.php
Для загрузки
изображения в форме должно стоять
enctype="multipart/form-data"
\app\Http\Controllers\Admin\PostController.php
public function
update(Request $request, $id)
{
$this->validate($request, [
'title'=>'required',
'subtitle'=>'required',
'slug'=>'required',
'body'=>'required',
'image'=>'required'
]);
if($request->hasFile('image')) {
// return $request->image->getClientOriginalName(); // имя файла
$imageName = $request->image->store('public'); // сохраняется в \storage\app\public
}
$post = post::find($id);
$post->image = $imageName;
$post->title = $request->title;
$post->subtitle = $request->subtitle;
$post->slug = $request->slug;
$post->body = $request->body;
$post->status= $request->status;
$post->tags()->sync($request->tags);
$post->categories()->sync($request->categories);
$post->save();
return redirect(route('post.index'));
}
{
$this->validate($request, [
'title'=>'required',
'subtitle'=>'required',
'slug'=>'required',
'body'=>'required',
'image'=>'required'
]);
if($request->hasFile('image')) {
// return $request->image->getClientOriginalName(); // имя файла
$imageName = $request->image->store('public'); // сохраняется в \storage\app\public
}
$post = post::find($id);
$post->image = $imageName;
$post->title = $request->title;
$post->subtitle = $request->subtitle;
$post->slug = $request->slug;
$post->body = $request->body;
$post->status= $request->status;
$post->tags()->sync($request->tags);
$post->categories()->sync($request->categories);
$post->save();
return redirect(route('post.index'));
}
Идем в
пользовательскую часть
\resources\views\user\post.blade.php
Вставим
картинку из БД.
@section('bg-img',
Storage::disk('local')->url($post->image))
Соединим
папку storage и public.
Идем
в консоль и пишем там:
php
artisan storage:link
Нам
выдаст: The [public/storage] directory has been linked.
Теперь,
если мы зайдем в \public, то увидим там ярлык
папки storage. Туда копируются
картинки.
Теперь сделаем
тоже для создания сообщения.
\app\Http\Controllers\Admin\PostController.php
public function store(Request $request)
{
$this->validate($request, [
'title'=>'required',
'subtitle'=>'required',
'slug'=>'required',
'body'=>'required',
'image' =>'required'
]);
if($request->hasFile('image')) {
$imageName = $request->image->store('public'); // сохраняется в \storage\app\public
}
$post = new post;
$post->image = $imageName;
$post->title = $request->title;
$post->subtitle = $request->subtitle;
$post->slug = $request->slug;
$post->body = $request->body;
$post->status= $request->status;
$post->save();
$post->tags()->sync($request->tags);
$post->categories()->sync($request->categories);
return redirect(route('post.index'));
}
{
$this->validate($request, [
'title'=>'required',
'subtitle'=>'required',
'slug'=>'required',
'body'=>'required',
'image' =>'required'
]);
if($request->hasFile('image')) {
$imageName = $request->image->store('public'); // сохраняется в \storage\app\public
}
$post = new post;
$post->image = $imageName;
$post->title = $request->title;
$post->subtitle = $request->subtitle;
$post->slug = $request->slug;
$post->body = $request->body;
$post->status= $request->status;
$post->save();
$post->tags()->sync($request->tags);
$post->categories()->sync($request->categories);
return redirect(route('post.index'));
}
Не забываем
написать в \resources\views\admin\post\post.blade.php
<form
role="form" action="{{ route('post.store') }}"
method="post" enctype="multipart/form-data">
Комментариев нет:
Отправить комментарий