Laravel отображение картинок из public/storage

174
01 ноября 2018, 19:40

Не отображается картинка из storage. Сделал линк в public папку с помощью команды php artisan storage:link и загрузил туда картинку. Картинка не отображается в шаблоне.

<img class="card-img-top" src="{{URL::asset('/storage/123.jpeg')}}" alt="Card">

При копировании картинки просто в папку public та же самая картинка отображается корректно:

<img class="card-img-top" src="{{URL::asset('/123.jpeg')}}" alt="Card">

Почему я не могу получить доступ к картинке в /public/storage?

Answer 1

Генерируйте ссылку следующим образом...в соответствии с документацией https://laravel.com/docs/5.2/helpers#method-asset

$url = asset('storage/123.jpeg');

или https://laravel.com/docs/master/filesystem#retrieving-files

use Illuminate\Support\Facades\Storage;   

$url = Storage::url('storage/123.jpg');
Answer 2

Картинка должна лежать в storage/public

Для получения ссылки на изображение используйте

{{ asset('storage/image.jpg') }}

Если не сработает - проверьте работоспособность ссылки. Например, при клонировании из репозитория, ссылка превращается в пустую папку

Answer 3

Решил проблему. Забыл указать в вопросе что использую docker. Так как laravel-проект крутится на docker-контейнерах надо создавать ссылку на storage из-под контейнера, то есть:

  1. Заходим в контейнер веб-сервера

    docker exec -it <имя_контейнера> /bin/bash

  2. Тут создаем ссылку используя полные пути

    ln -s /var/www/html/storage/app/public /var/www/html/public/storage

И все работает, но ссылка за пределами docker-контейнера определяется как битая. Спасибо всем ответившим.

READ ALSO
PHP Вывести значение переменной масcива по id другого

PHP Вывести значение переменной масcива по id другого

Всем приветУ меня есть массив, который используется для поля select

189
Создание личной страницы

Создание личной страницы

Не выводится в профиле имя пользователя которое было зарегистрированоКод личной страницы(куда надо вывести "Имя пользователя"):

204
Персидский язык на сайте

Персидский язык на сайте

Заказчик попросил добавить на сайт поддержку Персидского языкаИнтересует все, что может пригодится по типу кодировок сайта и БД, что учитывать...

175
Не отправляются письма через форму

Не отправляются письма через форму

1) Имеется форма в indexphp:

197