Laravel 9: Пример проверки валидации изображения
Валидация изображения в laravel. Здесь вы узнаете, как проверить тип mime, размер изображения и файл изображения в laravel.
Это руководство поможет вам проверить тип mime изображения и файл изображения, например jpeg, png, bmp, gif, svg или webp, перед загрузкой в базу данных и папку сервера в приложении laravel.
Также узнаете, как проверить тип mime файла изображения, размер изображения максимального размера файла для загрузки изображения в приложении laravel.
Пример проверки изображения Laravel
Выполните следующие шаги и проверьте тип, размер и расширение mime изображения перед загрузкой в базу данных и папку на сервере в приложении laravel:
Шаг 1. Добавьте маршруты
Прежде всего, откройте файл маршрутов и обновите следующие маршруты в файле web.php. Итак, перейдите в папку routes и откройте файл web.php. Затем обновите следующий код в файле web.php следующим образом:
Route::get('image','FrontHomeController@image');
Route::post('store','FrontHomeController@store');
Маршруты для приложений laravel 8, 9:
use App\Http\Controllers\FrontHomeController;
Route::get('image',[FrontHomeController::class, 'image']);
Route::post('store',[FrontHomeController::class, 'store']);
Вышеуказанные маршруты будут отображать и проверять тип, размер и расширение mime изображения в приложениях laravel.
Шаг 2. Создание представлений Blade
На этом шаге перейдите в папку resources/views и создайте один файл представления с именем image.blade.php. Затем добавьте следующий HTML-код в файле image.blade.php:
<!DOCTYPE html>
<html>
<head>
<title>Laravel Image Validation</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.4.1/css/bootstrap.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.4.1/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-md-6 offset-3">
<div class="card mt-5">
<div class="card-header bg-success">
<h3 class="text-white text-center"><strong>Image Validation in Laravel</strong></h3>
</div>
<div class="card-body">
@if(count($errors) > 0)
@foreach($errors->all() as $error)
<div class="alert alert-danger">{{ $error }}</div>
@endforeach
@endif
<form action="{{ url('store') }}" method="post" enctype="multipart/form-data">
@csrf
<div class="form-group">
<label><b>Please Select Image</b></label>
<input type="file" name="image" class="form-control" value="{{ old('image') }}">
</div>
<div class="form-group text-center">
<button class="btn btn-success" type="submit">Save</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
Приведенный выше файл представления отображает форму проверки загрузки изображения в laravel.
Шаг 3: Добавьте методы в контроллер
Откройте файл вашего контроллера. Перейдите в папку app/http/controllers, откройте файл контроллера и обновите следующие методы в файле контроллера, как показано ниже:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class FrontHomeController extends Controller
{
public function image()
{
return view('image');
}
public function store(Request $request)
{
$request->validate([
'image' => 'required|image|mimes:jpg,png,jpeg,gif,svg|max:2048|dimensions:min_width=100,min_height=100,max_width=1000,max_height=1000',
]);
return redirect()->back();
}
}
Приведенный выше метод контроллера будет отображать и проверять изображение в приложении laravel.
Следующий код проверяет тип, размер и проверку mime изображения в приложении laravel:
$request->validate([
'image' => 'required|image|mimes:jpg,png,jpeg,gif,svg|max:2048|dimensions:min_width=100,min_height=100,max_width=1000,max_height=1000',
]);
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.