Today, i we will show you Laravel 8 Drag & Drop File Uploading using Dropzone JS. This article will give you simple example of Laravel 8 Drag & Drop File Uploading using Dropzone JS. you will learn Laravel 8 Drag & Drop File Uploading using Dropzone JS.
Dropzone.js is a jQuery plugin, from dropzone.js we can select individual images with preview. Dropzone.js provide filter.
From this link you can get more information from Dropzone.js:- Click Here
Step 1 :- Install Laravel 8
composer create-project --prefer-dist laravel/laravel dropzone
Connect Database .env
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=dropzone DB_USERNAME=root DB_PASSWORD=dropzone
Step 2:- Create Routes
<?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\DropzoneController; Route::get('dropzone', [ DropzoneController::class, 'dropzone' ]); Route::post('dropzone/store', [ DropzoneController::class, 'dropzoneStore' ])->name('dropzone.store');
Step 3:- Create Controller
In this step, now we should add new controller as DropzoneController. So run bellow command and create new controller.
Create DropzoneController using bellow command
php artisan make:controller DropzoneController
app/Http/Controllers/DropzoneController.php
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class DropzoneController extends Controller { /** * Generate Image upload View * * @return void */ public function dropzone() { return view('dropzone-view'); } /** * Image Upload Code * * @return void */ public function dropzoneStore(Request $request) { $image = $request->file('file'); $imageName = time().'.'.$image->extension(); $image->move(public_path('file'),$imageName); return response()->json(['success'=>$imageName]); } }
Step 3:- Create Blade
resources/views/dropzone-view.blade.php
<!DOCTYPE html> <html> <head> <title>Laravel 8 Drag & Drop File Uploading using Dropzone JS - CodePlaners</title> <link href="https://cdnjs.cloudflare.com/ajax/libs/dropzone/4.0.1/min/dropzone.min.css" rel="stylesheet"> <script src="https://cdnjs.cloudflare.com/ajax/libs/dropzone/4.2.0/min/dropzone.min.js"></script> </head> <style type="text/css"> body{ background:#f2f2f2; } .section{ margin-top:150px; } h1{ margin-bottom:35px; } </style> <body> <div class="container section"> <div class="row"> <div class="col-md-8 col-md-offset-2"> <h2 class="text-center">Laravel 8 Drag & Drop File Uploading using Dropzone JS - CodePlaners</h2> <form action="{{ route('dropzone.store') }}" method="POST" enctype="multipart/form-data" class="dropzone" id='image-upload'> @csrf <div> <h3 class="text-center">Upload Multiple Image By Click On Box</h3> </div> </form> </div> </div> </div> <script type="text/javascript"> Dropzone.options.imageUpload ={ maxFilesize:1, acceptedFiles: ".jpeg,.jpg,.png,.gif", }; </script> </body> </html>
Now we are ready to run command
php artisan serve