mrestufp20's avatar

How To Resize Image ?

namespace App\Http\Controllers;

use Illuminate\Http\Request; use App\ImageGallery;

class ImageGalleryController extends Controller {

/**
 * Listing Of images gallery
 *
 * @return \Illuminate\Http\Response
 */
public function index()
{
    $images = ImageGallery::get();
    return view('image-gallery',compact('images'));
}

/**
 * Upload image function
 *
 * @return \Illuminate\Http\Response
 */
public function upload(Request $request)
{
    $this->validate($request, [
        'title' => 'required',
        'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
    ]);

    $input['image'] = time().'.'.$request->image->getClientOriginalExtension();
    $request->image->move(public_path('images'), $input['image']);

    $input['title'] = $request->title;
    ImageGallery::create($input);
    
    
    
    

    return back()
        ->with('success','Image Uploaded successfully.');
}

/**
 * Remove Image function
 *
 * @return \Illuminate\Http\Response
 */
public function destroy($id)
{
    ImageGallery::find($id)->delete();
    return back()
        ->with('success','Image removed successfully.');    
}

}

Where can I put the code resize its image?

0 likes
4 replies
shakti's avatar

Their site has all you need http://image.intervention.io/

Example code :


 if(Input::file())
        {
  
            $image = Input::file('image');
            $filename  = time() . '.' . $image->getClientOriginalExtension();

            $path = public_path('profilepics/' . $filename);
 
        
                Image::make($image->getRealPath())->resize(200, 200)->save($path);
                $user->image = $filename;
                $user->save();
           }

It will upload an Image in public/profilepics folder.

martinbean's avatar

@mrestufp20 I pass creating thumbnails to a queued job, as you don’t want a user to have to wait around whilst your application resizes a large image. The code would look like this:

class ImageController extends Controller
{
    public function store(UploadImageRequest $request)
    {
        $path = $request->image->store();

        dispatch(new ProcessUploadedImage($path));

        return redirect()->back()->withSuccess(
            __('Your image has been uploaded and is being processed.')
        );
    }
}
class ProcessUploadedImage implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queuable, SerializesModels;

    protected $path;

    public function __construct($path)
    {
        $this->path = $path;
    }

    public function handle()
    {
        // Place your code to create thumbnails here
    }
}
1 like

Please or to participate in this conversation.