Laravel 5.4 Ссылка для хранения - PullRequest
0 голосов
/ 05 мая 2018

я бы хотел показать картинку в html файле, я иду в папку ссылок public / storage / image пусто, но в хранилище / image я нахожу файл и его также сохраняют в базе данных. *

@foreach($cvs as $cv)
                    <div class="col-sm-6 col-md-4">
                    <div class="thumbnail">
                        <img src="{{ asset('storage/'.$cv->photo) }}" alt="...">
                        <div class="caption">
                        <h3>{{ $cv->titre }}</h3>
                        <p>{{$cv->presentation}}</p>
                        <p>
                            <a href="#" class="btn btn-primary" role="button">Afficher</a>
                            <a href="#" class="btn btn-success" role="button">Modifier</a>
                            <a href="#" class="btn btn-danger" role="button">Supprimer</a>
                         </p>
                        </div>
                    </div>
                    </div>
                    @endforeach
                    </div>
               </div>

Ответы [ 3 ]

0 голосов
/ 05 мая 2018

Как отмечает Mayank Majithya, символическая ссылка является одним из распространенных способов доступа к storage/app/public/ файлам из каталога public/, и фактически метод документов Laravel говорит, что вы должны использовать.

Если вы используете общий хостинг, который запрещает это, вы также можете попробовать использовать вспомогательную функцию Laravel storage_path(), например: <img src="{{ storage_path('subpaths/under/storage/filename.jpg') }}"> ( reference ).

Я также заметил, что вы упомянули, что изображения хранятся в базе данных. Если вы имеете в виду, что весь файл хранится, может быть более эффективно (как только вы определили путь к файлу) хранить только путь к файлу в вашей базе данных, а не весь файл (так как он уже хранится на диске). Затем вы можете использовать свою модель, чтобы получить путь (при условии, что в вашей таблице есть столбцы, скажем, для 'src' и 'alt'):

<img src="{{ $mymodel->src }}" alt="{{ $mymodel->alt }}">
0 голосов
/ 06 мая 2018

решено с помощью простой модификации файловой системы config / file systems от:

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

до:

'local' => [
            'driver' => 'local',
            'root' => storage_path('app/public'),
        ]
0 голосов
/ 05 мая 2018

Диск public предназначен для файлов, которые будут общедоступными. По умолчанию диск public использует локальный драйвер и сохраняет эти файлы в storage/app/public. Чтобы сделать их доступными из Интернета, вы должны создать символическую ссылку от public/storage до storage/app/public. Laravel doc

Создать символическую ссылку в Linux

ln -s source_file myfile
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...