I am working with laravel 5.6 for upload a file using HTML form but I am having a problem while retrieving a file in a controller.
When I retrieve it using this way it returns ok return $request; it is retrieving in controller but not in hasFile()
function or
getClientOriginalExtension()
I have searched many website but problem is still staying here. All I have matched but not working.
Error: "Call to a member function getClientOriginalExtension() on null"
Html Form view:
<form action="{{url('/changeProductImage')}}" enctype="multipart/form-data" method="post">
{{csrf_field()}}
<input type="file" name="photo" id="photo" class="btn btn-secondary">
<hr>
<button type="submit" value="upload" class="form-control btn btn-primary btn-fill btn-lg">Upload Image</button>
</form>
Route:
Route::post('/changeProductImage','ProductsController@upload');
Controller:
function upload(Request $request)
{
$image = $request->file('photo');
$new_name = rand() . '.' . $image->getClientOriginalExtension();
$image->move(public_path('images'), $new_name);
return back()->with('success', 'Image Uploaded Successfully');
}