I have a form where i get the title,content … and an image. When i dd($requests->all());, It returns the following which is correct.
array:10 [▼ "_token" => "HAf1f0m6kH54atYXUSb0UMpXcNdmA3IR46iTwt83" "title" => null "imagePost" => IlluminateHttpUploadedFile {#259 ▼ -test: false -originalName: "07_ducati_diavel_base.jpg" -mimeType: "image/jpeg" -error: 0 } ]
Here is my code for image processing:
public function create(Request $request) { // dd($request->all()); $imagePost = 'IMAGE-POST'.time().$request->file('imagePost')->getClientOriginalName(); if($request->hasFile('imagePost')) { // ec $filee = $request->image; $fileName = $filee->getClientOriginalName(); $filee->move('uploads/posts',$fileName); $image = $fileName; } $status = $request->input('status'); DB::table('post')->insert([ 'image'=> $image ]); }
But the img DB table field gets null.
The if($request->hasFile('imagePost'))
is not getting the field.
What have i done wrong?
Advertisement
Answer
You are modifying file object before you check it with hasFile()
condition. first check if $request
has file then modify it according to your use
“
public function create(Request $request) { // dd($request->all()); if($request->hasFile('imagePost')) { $imagePost = 'IMAGE-POST'.time().$request->file('imagePost')->getClientOriginalName(); // ec $filee = $request->image; $fileName = $filee->getClientOriginalName(); $filee->move('uploads/posts',$fileName); $image = $fileName; } $status = $request->input('status'); DB::table('post')->insert([ 'image'=> $image ]); }