Laravel5.8: ПОЛУЧИТЬ 404 (не найдено)

Я использую laravel 5.8 и laravel-medialibrary:^7.0.0.

Я хочу загрузить свое изображение и получить его на странице редактирования профиля. Но это не работает.

В моей консоли я получил ошибку GET 'my image file' 404 (Not Found).

Это мой код. Я использовал этот код после php artisan storage:link

show.blade.php(страница просмотра редактирования моего профиля)

<img src = "{{ asset('storage/'.$channel->image) }}" alt = "">

также, я пытался

<img src = "{{ $channel->image() }}" alt = "">

КаналКонтроллер.php

public function update(Request $request, Channel $channel)
    {
        if ($request->hasFile('image')) {
            $channel->clearMediaCollection('images');
            $channel->addMediaFromRequest('image')
            ->toMediaCollection('images');
        }

        $channel->update([
            'name'=> $request->name,
            'description'=> $request->description
        ]);

        return redirect()->back();
    }

Канал.php

public function registerMediaConversions(?Media $media = null)
    {
        $this->addMediaConversion('thumb')
            ->performOnCollections('images')
            ->width(100)
            ->height(100);
    }

Это мой стол.

мультимедийный стол Laravel5.8: ПОЛУЧИТЬ 404 (не найдено) таблица каналов Laravel5.8: ПОЛУЧИТЬ 404 (не найдено)

файловые системы.php

 'disks' => [

        'local' => [
            'driver' => 'local',
            'root' => storage_path('app'),
        ],

        'public' => [
            'driver' => 'local',
            'root' => storage_path('app/public'),
            'url' => env('APP_URL').'/storage',
            'visibility' => 'public',
        ],

        's3' => [
            'driver' => 's3',
            'key' => env('AWS_ACCESS_KEY_ID'),
            'secret' => env('AWS_SECRET_ACCESS_KEY'),
            'region' => env('AWS_DEFAULT_REGION'),
            'bucket' => env('AWS_BUCKET'),
            'url' => env('AWS_URL'),
        ],

    ],

];

Пожалуйста, замените <img src = "{{ asset('storage/'.$channel->image) }}" alt = ""> на <img src = "{{ storage_path($channel->image) }}" alt = "">.

Dhananjay Kyada 19.07.2019 06:25

Извините, но не получилось...

Yohei Umezu 19.07.2019 06:29

Показать свой image path в базе данных?

Kingo 19.07.2019 06:33

Привет, я добавил. Фотографии базы данных.

Yohei Umezu 19.07.2019 06:41
Стоит ли изучать 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
4
1 006
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Пожалуйста, используйте функцию storage_path Laravel, чтобы получить полный путь к папке storage. См. связь

например. $filename = storage_path('/imageFolder/photo.jpg');

Куда мне нужно вставить этот код? Спасибо за ответ.

Yohei Umezu 19.07.2019 06:29

Какое у вас приложение/config/filesystems.php? Каков ваш медиа-путь в laravel-medialibrary? github.com/spatie/laravel-medialibrary Также можно посмотреть информацию о том, как получить медиа из медиабиблиотеки от docs.spatie.be/laravel-medialibrary/v7/basic-usage/…

Aditya Singh 19.07.2019 06:35

Я поставил media path, но вроде проблем нет.

Yohei Umezu 19.07.2019 07:03

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