Image Upload in Laravel
Image Upload in Laravel
Published Jan 02,2021 by Kailash Singh
0 Comment 1900 Views
In this tutorial, i am going to teach you how to upload image using Laravel.
Step 1 : Create table in database.
CREATE TABLE `elevenstech_laravel`.`image_file` ( `id` INT NOT NULL AUTO_INCREMENT , `image` VARCHAR(300) NOT NULL , `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , PRIMARY KEY (`id`)) ENGINE = InnoDB;
Step 2 : Create controller for Upload image with the help of command.
php artisan make:controller MainController
eg :
Step 3 : Load view page in main controller.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class MainController extends Controller
{
function index()
{
//Load view page
return view('welcome');
}
}
?>
Step 4 : Create view file (welcome.blade.php) in view folder to create design of upload image.
<h2>Image Upload In Laravel</h2>
<!-- Show success message -->
@if($message = Session::get('msg'))
<div class="alert alert-success alert-block">
<strong>{{$message}}</strong>
</div>
@endif
<!-- Create form--->
<form action="{{url('/main/upload-file')}}" method="post" enctype="multipart/form-data">
{{csrf_field()}}
<input type="file" name="image" class="form-control">
<input type="hidden" name="token" value="{{csrf_token()}}">
<span style="color: red; ">@error('image'){{$message}}@enderror </span>
<button type="submit" class="btn btn-primary">Upload</button>
</form>
Step 5 : Now create a route (web,php) for Upload file.
Route::post('/main/upload-file','MainController@uploadfile');
Step 6 : Create uploadfile function in main controller to upload image.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Redirect;
use validator;
use Auth;
class MainController extends Controller
{
function index()
{
return view('welcome');
}
//Here i am crating a uploadfile fuction
function uploadfile(Request $request)
{
//Validation for image
//only accept jpeg, jpg, png, gif
$request->validate([
'image' => 'mimes:jpeg,jpg,png,gif|required|max:1000',
]);
$request->input();
//Upload image code
if ($request->hasFile('image'))
{
//get image file
$image = $request->file('image');
//generate a new name of image
$imagefile = time().rand().'.'.$image->getClientOriginalExtension();
//Route of image file. where image is uploaded
$destinationPath = public_path('/image/');
//here we are uploading image in the folder
$image->move($destinationPath, $imagefile);
}
$data = array(
'image' => $imagefile
);
//insert image in database
DB::table('image_file')->insert($data);
//return with success msg
return Redirect::back()->with('msg','File upload has been successfully.');
}
}
Step 7 :- Create Image folder to store images
Step 8 : Now use the command to run your laravel project.
eg : php artisan serve
Now, use this link to run your laravel project on browser
eg : http://localhost:8000/
Comments ( 0 )
Elevenstech Web Tutorials
Elevenstech Web Tutorials helps you learn coding skills and enhance your skills you want.
As part of Elevenstech's Blog, Elevenstech Web Tutorials contributes to our mission of “helping people learn coding online”.
Read More
Newsletter
Subscribe to get the latest updates from Elevenstech Web Tutorials and stay up to date