Laravel - Image Upload and Resize Example using Intervention Image Package
https://www.itsolutionstuff.com/post/laravel-5-image-upload-and-resize-example-using-intervention-image-packageexample.html
Last updated
https://www.itsolutionstuff.com/post/laravel-5-image-upload-and-resize-example-using-intervention-image-packageexample.html
Last updated
composer require intervention/imagereturn [ ...... $provides => [ ...... ......, 'Intervention\Image\ImageServiceProvider' ], $aliases => [ ..... ....., 'Image' => 'Intervention\Image\Facades\Image' ]]Route::get('resizeImage', 'ImageController@resizeImage');Route::post('resizeImagePost',['as'=>'resizeImagePost','uses'=>'ImageController@resizeImagePost']);php artisan make:controller ImageControllernamespace App\Http\Controllers;use Illuminate\Http\Request;use App\Http\Requests;use Image;class ImageController extends Controller{ /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function resizeImage() { return view('resizeImage'); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function resizeImagePost(Request $request) { $this->validate($request, [ 'title' => 'required', 'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048', ]); $image = $request->file('image'); $input['imagename'] = time().'.'.$image->getClientOriginalExtension(); $destinationPath = public_path('/thumbnail'); $img = Image::make($image->getRealPath()); $img->resize(100, 100, function ($constraint) { $constraint->aspectRatio(); })->save($destinationPath.'/'.$input['imagename']); $destinationPath = public_path('/images'); $image->move($destinationPath, $input['imagename']); $this->postImage->add($input); return back() ->with('success','Image Upload successful') ->with('imageName',$input['imagename']); }}@extends('layouts.app')@section('content')<div class="container"><h1>Resize Image Uploading Demo</h1>@if (count($errors) > 0) <div class="alert alert-danger"> <strong>Whoops!</strong> There were some problems with your input.<br><br> <ul> @foreach ($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> </div>@endif@if ($message = Session::get('success'))<div class="alert alert-success alert-block"> <button type="button" class="close" data-dismiss="alert">×</button> <strong>{{ $message }}</strong></div><div class="row"> <div class="col-md-4"> <strong>Original Image:</strong> <br/> <img src="/images/{{ Session::get('imageName') }}" /> </div> <div class="col-md-4"> <strong>Thumbnail Image:</strong> <br/> <img src="/thumbnail/{{ Session::get('imageName') }}" /> </div></div>@endif{!! Form::open(array('route' => 'resizeImagePost','enctype' => 'multipart/form-data')) !!} <div class="row"> <div class="col-md-4"> <br/> {!! Form::text('title', null,array('class' => 'form-control','placeholder'=>'Add Title')) !!} </div> <div class="col-md-12"> <br/> {!! Form::file('image', array('class' => 'image')) !!} </div> <div class="col-md-12"> <br/> <button type="submit" class="btn btn-success">Upload Image</button> </div> </div>{!! Form::close() !!}</div>@endsection