Для вывода изображения на стороне фронтенда в Laravel, вам необходимо выполнить несколько шагов.
Шаг 1. Подготовка изображения
Сначала вам нужно подготовить изображение, которое вы хотите вывести. Положите изображение в папку public/images
вашего проекта.
Шаг 2. Создание маршрута
Затем вам нужно создать маршрут, который будет обрабатывать запрос на вывод изображения. Добавьте следующую строку в файл routes/web.php
:
Route::get('/images/{filename}', 'ImageController@show')->name('image.show');
Шаг 3. Создание контроллера
Вам нужно создать контроллер для обработки запроса на вывод изображения. Создайте новый контроллер с именем ImageController
следующей командой в консоли:
php artisan make:controller ImageController
Затем откройте созданный файл app/Http/Controllers/ImageController.php
и добавьте следующий код:
<?php namespace AppHttpControllers; use IlluminateSupportFacadesStorage; use IlluminateHttpRequest; class ImageController extends Controller { public function show($filename) { $path = storage_path('app/public/images/' . $filename); if (!Storage::disk('public')->exists('images/' . $filename)) { abort(404); } return response()->file($path); } }
Шаг 4. Вывод изображения на стороне фронта
Теперь вы можете вывести изображение на стороне фронтенда. Вам нужно использовать функцию route()
в шаблоне вашей страницы и передать ей имя маршрута и имя файла изображения, чтобы получить URL для загрузки изображения. Затем вы можете использовать этот URL в HTML теге <img>
с атрибутом src
:
<img src="{{ route('image.show', ['filename' => 'example.jpg']) }}" alt="Example Image">
Вместо 'example.jpg'
вам нужно указать имя вашего файла изображения.
Это всё! Теперь вы сможете вывести изображение на стороне фронтенда в Laravel.