изображение работает в index.blade.php, но не show.blade.php - PullRequest
0 голосов
/ 25 апреля 2018

Я использую Laravel для построения системы управления событиями. Пользователи могут загружать изображения для отображения с их событием. У меня есть тег img, работающий на моем index.blade.php, и предполагается, что я могу использовать тот же код на моей странице show.blade.php, похоже, нет. У меня есть изображение, хранящееся в public/images, и я знаю, что для этого мне следует использовать хранилище, но я все еще изучаю основы, поэтому пока мне было проще.

<img style="width:100%" src="images/{{$event->image}}">

Ответы [ 4 ]

0 голосов
/ 25 апреля 2018

когда вы используете js, css или изображения, вы должны использовать {{asset ('path')}} для получения ресурса, это не имеет отношения к блейду, который вы используете, а к пути к ресурсам.

0 голосов
/ 25 апреля 2018

Пожалуйста, используйте asset() метод.Метод asset() используется для включения CSS/JavaScript/images files, вы можете использовать его как:

{{ URL::asset('images/'.$event->image) }}

<img style="width:100%" src="{{ URL::asset('images/'.$event->image) }}">

Вы также можете использовать эту функцию для CSS and js.

<link href="{{ asset('css/style.css') }}" rel="stylesheet">
<script src="{{ asset('js/custom.js') }}"></script>

Подробнеепожалуйста, смотрите эту статью:

https://medium.com/@zwacky/laravels-url-to-vs-url-asset-fd427ed6f7ef

0 голосов
/ 25 апреля 2018

Я предлагаю не использовать URL::asset, а только метод актива, потому что иногда URL может вызвать проблемы при отображении изображения ... и использовать функцию dd() и проверить, получаете ли вы путь, т.е. Public_path, storage_path()или пользовательские изображения, подобные изображениям, хранятся в общедоступном каталоге.

Вы можете использовать asset() метод Laravel и использовать любой префикс, какой захотите.

Пример:

Для статического

 <img src="{!! asset('assets/images/cams/cam-01.png') !!}" class="img-fluid"
                             alt="Card image cap">

Для динамического

<img src="{!! $settings->aws_url.$performer->coverimage !!}" class="img-fluid" alt="Card image cap">
0 голосов
/ 25 апреля 2018

Как сказал @Frank Ayyaz, вы можете использовать обратную косую черту, чтобы решить эту проблему, другой метод Laravel использует public_path , который возвращает полный путь к общедоступному каталогу. так что вы можете сделать что-то вроде:

<img style="width:100%" src="{{ public_path('images/'.$event->image) }}">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...