Laravel 9: преобразование изображения из байтов в Jpeg из каталога хранилища

Я использую Laravel 9 и хотел показать изображение, которое хранится в хранилище/приложении/аватарах.

Итак, я попробовал это в Blade:

{{ \App\Http\HelperClasses\ImageHelper::admAvatar() }}

А это класс ImageHelper:

namespace App\Http\HelperClasses;

use Illuminate\Support\Facades\Response;
use Illuminate\Support\Facades\Storage;

class ImageHelper
{
    public static function admAvatar()
    {
        $content = Storage::get('avatars/profile.png');

        return Response::make($content)->header('content-type','image/jpeg');
    }
}

Поэтому я попытался сделать изображение из profile.png и вернуть его в конце концов.

Но проблема в том, что он ничего не показывает!

И когда я dd(Response::make($content)->header('content-type','image/jpeg')), я получаю это:

И результат dd($content) также выглядит так:

Итак, как я могу правильно преобразовать это в изображение?

как вы собираетесь "рендерить" изображение? в таком фронтенде? Вы можете преобразовать его в base64 и попытаться загрузить его в тег <img>, нет?

Jack 06.02.2023 11:37

Я сделал вот так Контроллер: public function getFile($type, $id) { $contents = Storage::get($file_path); return response($contents, 200, $headers); } Маршруты: Route::get('/attachments/display/{parent_type}/{parent_id}', [App\Http\Controllers\AttachmentController::class, 'display']); HTML: <img src = "/attachments/display/avatar/1" />

justrusty 06.02.2023 11:57

@justrusty Пожалуйста, добавьте его как ответ, чтобы он был более читабельным

Pouya 06.02.2023 11:59
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
52
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

я сделал вот так

Контроллер:

public function getFile($type, $id) {
    $attachment = Attachment::where([['parent_type', $type], ['parent_id', $id]])->latest()->firstOrFail();
    $headers = ['content-type' => 'image/jpeg'];
    $contents = Storage::get($attachment->file_path); 
    return response($contents, 200, $headers); 
}

Маршруты:

Route::get('/attachments/display/{type}/{id}', [App\Http\Controllers\AttachmentController::class, 'getFile']);

HTML:

<img src = "/attachments/display/avatar/1" />

Другие вопросы по теме