Laravel 5 File(Image) Upload Example with Validation

  1. app/Http/routes.php
Route::group(['middleware' => 'web'], function () {
Route::get('fileUpload', function () {

    return view('fileUpload');

});

Route::post('fileUpload', ['as'=>'fileUpload','uses'=>'HomeController@fileUpload']);
});
  1. app/Http/Controllers/HomeController.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class HomeController extends Controller
{
/**

 * Create a new controller instance.

 *

 * @return void

 */

public function __construct()

{

    $this->middleware('auth');

}


public function fileUpload(Request $request)

{

    $this->validate($request, [

        'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',

    ]);


    $image = $request->file('image');

    $input['imagename'] = time().'.'.$image->getClientOriginalExtension();

    $destinationPath = public_path('/images');

    $image->move($destinationPath, $input['imagename']);


    $this->postImage->add($input);


    return back()->with('success','Image Upload successful');

}
}
  1. resources/views/fileUpload.blade.php
@extends('layouts.app')
@section('content')
@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>
{!! Form::open(array('route' => 'fileUpload','enctype' => 'multipart/form-data')) !!}
<div class="row cancel">

    <div class="col-md-4">

        {!! Form::file('image', array('class' => 'image')) !!}

    </div>

    <div class="col-md-4">

        <button type="submit" class="btn btn-success">Create</button>

    </div>

</div>
{!! Form::close() !!}

Commentaires

Posts les plus consultés de ce blog

PhoneGap Login with PHP & MySQL

AngularJS - sorting(using orderby filter) table data example

PhoneGap PHP MySQL Example