Make sure that your form has `enctype=multipart/form-data" attribute
Aug 21, 2018
8
Level 4
Call to a member function getClientOriginalExtension() on null
hello, I am working with laravel 5.6 and going to update existing image on uploads table in my edit.blade.php form, my edit view is as following,
@if( $vehicles->uploads->count() > 0 )
@php
$upload = $vehicles->uploads->sortByDesc('id')->first();
@endphp
<img id="preview"
src="{{asset((isset($upload) && $upload->resized_name!='')?'images/'.$upload->resized_name:'images/noimage.png')}}"
height="200px" width="200px"/>
<input class="form-control" style="display:none" name="files[]" type="file" id="files" name="_token" value="{{ csrf_token() }}" enctype="multipart/form-data">
<br/>
<a href="javascript:changeProfile();">Add Image</a> |
<a class="button is-outlined" href="/myads/{{$upload->id}}/delete" onclick="return confirm('Are you sure to want to delete this record?')" >Delete</a></td>
<hr>
@endif
and my Controller update function is,
public function update(Request $request, $id)
{
$photos = $request->file('files');
if (!is_array($photos)) {
$photos = [$photos];
}
if (!is_dir($this->photos_path)) {
mkdir($this->photos_path, 0777);
}
for ($i = 0; $i < count($photos); $i++) {
$photo = $photos[$i];
$name = sha1(date('YmdHis') . str_random(30));
$save_name = $name . '.' . $photo->getClientOriginalExtension(); // this is line 198
$resize_name = $name . str_random(2) . '.' . $photo->getClientOriginalExtension();
Image::make($photo)
->resize(250, null, function ($constraints) {
$constraints->aspectRatio();
})
->save($this->photos_path . '/' . $resize_name);
$photo->move($this->photos_path, $save_name);
$upload = Upload::find($id);
$upload->filename = $save_name;
$upload->resized_name = $resize_name;
$upload->original_name = basename($photo->getClientOriginalName());
$upload->vehicle_id = $vehicle->id;
$upload->save();
}
and My Upload table structure is as following,
id | filename | resized_name | original_name | vehicle_id
but when I click update button this error msg occured
1/1) FatalErrorException
Call to a member function getClientOriginalExtension() on null
in VehicleController.php line 198
how can fix this problem?
Level 11
@Amalmax You have declared the enctype in an input field, I think it should be in a form field.
1 like
Please or to participate in this conversation.