How to create file uploading with Laravel 6 Application?

How to create file uploading with Laravel 6 Application?

In this tutorial, I will help you to create file uploading with Laravel 6 Application. We will create simple file upload like pdf, image, xlx, zip etc in Laravel 6

You can see file upload in laravel 6 using request facade. we will file upload with validation like mimes, max file upload etc, So it can protect to upload script.

In this example, we will create two routes one for get method and another for post method. we created simple form with file input. So you have to simple select file and then it will upload in "uploads" directory of public folder. So you have to simple follow bellow step and get file upload in laravel 6 application.

Step 1 : Install Laravel 6

First of all, we need to get fresh laravel 6 version application using bellow command because we are going from scratch, So open your terminal OR command prompt and run bellow command:

composer create-project --prefer-dist laravel/laravel blog

Step 2: Create Routes

In next step, we will add new two routes in web.php file. One route for generate form and another for post method So let's simply create both route as bellow listed:

routes/web.php

Route::get('file-upload', '[email protected]')->name('file.upload');

Route::post('file-upload', '[email protected]')->name('file.upload.post');

Laravel 6 CRUD Application Tutorial

Step 3: Create FileUploadController

In third step we will have to create new FileUploadController and here we have to write two method fileUpload() and fileUploadPost(). So one method will handle get method another one for post. So let's add code.

app/Http/Controllers/FileUploadController.php

<?php



namespace App\Http\Controllers;



use Illuminate\Http\Request;



class FileUploadController extends Controller

{

    /**

     * Display a listing of the resource.

     *

     * @return \Illuminate\Http\Response

     */

    public function fileUpload()

    {

        return view('fileUpload');

    }



    /**

     * Display a listing of the resource.

     *

     * @return \Illuminate\Http\Response

     */

    public function fileUploadPost(Request $request)

    {

        $request->validate([

            'file' => 'required|mimes:pdf,xlx,csv|max:2048',

        ]);



        $fileName = time().'.'.$request->file->extension();  



        $request->file->move(public_path('uploads'), $fileName);



        return back()

            ->with('success','You have successfully upload file.')

            ->with('file',$fileName);



    }

}

Step 3: Create Blade File

At last step we need to create fileUpload.blade.php file and in this file we will create form with file input button. So copy bellow and put on that file.

resources/views/fileUpload.blade.php

How to use Yajra Datatables in Laravel 6?

<!DOCTYPE html>

<html>

<head>

    <title>laravel 6 file upload example - ItSolutionStuff.com.com</title>

    <link rel="stylesheet" href="http://getbootstrap.com/dist/css/bootstrap.css">

</head>



<body>

<div class="container">



    <div class="panel panel-primary">

      <div class="panel-heading"><h2>laravel 6 file upload example - ItSolutionStuff.com.com</h2></div>

      <div class="panel-body">



        @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>

        <img src="uploads/{{ Session::get('file') }}">

        @endif



        @if (count($errors) > 0)

            <div class="alert alert-danger">

                <strong>Whoops!</strong> There were some problems with your input.

                <ul>

                    @foreach ($errors->all() as $error)

                        <li>{{ $error }}</li>

                    @endforeach

                </ul>

            </div>

        @endif



        <form action="{{ route('file.upload.post') }}" method="POST" enctype="multipart/form-data">

            @csrf

            <div class="row">



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

                    <input type="file" name="file" class="form-control">

                </div>



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

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

                </div>



            </div>

        </form>



      </div>

    </div>

</div>

</body>



</html>

Step 4: Create "uploads" Directory

in last step, we need to create new directory "uploads" with full permission, So let's create new folder on public folder.

After that you can check it.

I hope it can help you...

laravel php web-development

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

PHP Web Application Development Company

As a top **PHP Web Application Development Company in USA**[https://www.dataeximit.com/php-development-services/](https://www.dataeximit.com/php-development-services/ "https://www.dataeximit.com/php-development-services/"), we at Data EximIT have...

PHP Website Development

Skenix Infotech is a leading PHP Web Development Company that helps companies get results with industry best practices. Get affordable PHP Development Services.

Laravel Development Company

Skenix Infotech is a top Laravel Website Development Company with Expert Laravel Developers that provides robust Laravel Development Services at fair costs.

Hire Dedicated PHP Developer

Looking to hire affordable yet experienced PHP developers? **[Hire Dedicated PHP Developer](https://hourlydeveloper.io/hire-dedicated-php-developer/ "Hire Dedicated PHP Developer")**, who can convert your idea to reality, within the stipulated...

Hire PHP Developer

Looking to develop a PHP based website from scratch or revamp your existing website? **[HourlyDeveloper.io](https://hourlydeveloper.io/ "HourlyDeveloper.io")** has always been an industry leader for companies and business owners looking to hire...