Search code examples
phplaravel-5.7intervention

How to Store Image in Database Using Laravel With Base URL


When I'm storing an image into a database, then it doesn't upload with base URL. How can resolve this type of problem in Laravel?

public function uploadimage(Request $request)
{
    if ($request->hasFile('image')) {
        $file = $request->file('image');
        $filename = $file->getClientOriginalName();
        $extension = $file->getClientOriginalExtension();
        $picture = date('His') . '-' . $filename;
        $file->move(public_path('img'), $picture);

        $employee_image = Image::create($request->all());
        $employee_image->image = $filename;
        $employee_image->save();

        return response()->json(['message' => 'Image Uploaded Successfully']);
    }

    return response()->json(['message' => 'Select image first.']);
}

Solution

  • Try this ....

     public function uploadimage(Request $request)
    {
        $this->validate($request, [
            'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
        ]);
        $employees = new Image($request->input()) ;
    
         if($file = $request->hasFile('image')) {
            $file = $request->file('image') ;
            $fileName = $file->getClientOriginalName() ;
            $destinationPath = public_path().'/images/' ;
            $file->move($destinationPath,$fileName);
            $employees->image = '/public/images/'.$fileName ;
        }
        $employees->save() ;
       return response()->json(['message' => 'Image Uploaded Successfully']);
    }