Hello,
I am trying to upload slide image and save it.
edit_home_slides.blade.php
<form method="post" action="{{ Url('/store_home_slides/'.'$list->id') }}" enctype="multipart/form-data">
<input type="hidden" name="_token" value="{{ csrf_token() }}"/>
<input type="hidden" name="id" value="{{ $list->id }}"/>
<br>
<table width="800">
<tr>
<td>Image </td>
<td><img src="{{ $list->image }}" name="image"></td>
</tr>
<tr>
<td>Upload</td>
<td>
<input type="file" name="slides" id="slides">
</td>
</tr>
<tr>
<td>Title </td>
<td><input required type="text" size="50" value="{{ $list->title }}" name="title"></td>
</tr>
<tr>
<td></td>
<td><br><button type="submit">Submit</button></td>
</tr>
</table>
</form>
PageController.php
public function store_home_slides(Request $request)
{
$id = $request->id;
$this->validate($request, [
'title' => 'required',
'image' => 'required|image|mimes:jpg,jpeg,png|max:10000'
]);
$slides = HomeSlidesModel::find($id);
$slides->title = $request->title;
$slides->image = $request->file('slides');
if(Input::hasFile('slides'))
{
$file = $request->file('slides');
//$file = $file->move(public_path().'/images/'.$file->getClientOriginalName());
$path = $request->file('slides')->store('/images/'.$file->getClientOriginalName(), 'public');
Session::flash('flash', 'Successfully save data');
}
$slides->update();
$data = HomeSlidesModel::find($id);
Session::flash('flash', 'Successfully save data');
return view('admin.edit_home_slides')->with('list', $data);
}
web.php
Route::post('/store_home_slides/{id}', 'PageController@store_home_slides');
After clicking submit, I checked my database and frontview (no flash message) and there is no new image folder in my storage/app/public.
Anything wrong my codes?
ref: https://laravel.com/docs/6.x/filesystem#file-uploads