Home > Blockchain >  How to upload image to public/assets in laravel?
How to upload image to public/assets in laravel?

Time:02-02

I am working with PHP Laravel 8. I am doing avatar upload to the database and uploading it to public/assets. It's working with database but it doesn't upload it I want some help Thank You

This is HTML code for uploading

    <div >
     <label for="exampleInputFile">Profile Image</label>
       <div >
          <div >
       <input type="file" name="profile_image"  id="profile-image">
            <label  for="exampleInputFile">Recommended Profile Image (160w x 160h)</label>
          </div>
       </div>
              <span >Picture size should be less than 4MB</span>
     </div>

and here is the controller code

public function update(Request $request)
{
    $user = Auth::user();    
   // $user->full_name=$request->input('full_name');
    //$user->email=$request->input('email');
    $user->avatar=$request->input('profile_image');
    if($request->hasFile('profile_image'))
    {
        $avatar = $request->file('profile_image');

        $filename = time().'.'.$avatar->getClientOriginalExtension();
        $location = url('public/assets/uploads/images/'.$filename);
        Image::make($avatar)->resize(300, 300)->save($location);
        $user = Auth::user();
        $user->avatar = $filename;
    }
    auth()->user()->save();
    $user->save(); 
    return redirect()->back()->with('success','Sucessfully changed User Information');
}

CodePudding user response:

To store the image, you can simply do :

 if ($request->hasFile('profile_image')) {
    $avatar = $request->file('profile_image');
    $filename = now()->timestamp . '.' . $avatar->getClientOriginalExtension();

    $image->move(public_path('assets/uploads/images/'), $filename);
    
    // the rest of your code
 }

To modify the image's size and store it, you can follow the Laravel 8 Image Resize & Upload with Intervention Image article.

CodePudding user response:

Just change

$location = url('public/assets/uploads/images/'.$filename);

with

$location = public_path('assets/uploads/images/'.$filename);

final

public function update(Request $request)
{
    $user = Auth::user();    
   // $user->full_name=$request->input('full_name');
    //$user->email=$request->input('email');
    $user->avatar=$request->input('profile_image');
    if($request->hasFile('profile_image'))
    {
        $avatar = $request->file('profile_image');

        $filename = time().'.'.$avatar->getClientOriginalExtension();
        $location = public_path('public/assets/uploads/images/'.$filename);
        Image::make($avatar)->resize(300, 300)->save($location);
        $user = Auth::user();
        $user->avatar = $filename;
    }
    auth()->user()->save();
    $user->save(); 
    return redirect()->back()->with('success','Sucessfully changed User Information');
}
  •  Tags:  
  • Related