Идентификатор ресурсов Laravel

Я установил Laravel и начал пытаться написать приложение. Я создал несколько каталогов для своих активов в том же каталоге, что и /app. Но когда я пытаюсь посетить образ в моем локальном хосте, например: http://localhost/assets/images/image.png

Я также пробовал его: http://localhost/app/assets/images/image.png

Я столкнулся с проблемой, когда пытался установить фоновое изображение в представлении, и он продолжал идти до 404.

Вот как выглядит мое приложение в приложении /

->app
->assets
->commands
->config
->controllers
->database
->lang
->models
->start
->storage
->tests
->views
app.txt
routes.php
filters.php

Но я получаю ошибки в запросах. Я дважды проверял правильность URL-адреса.

Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException

Ответ 1

Вы должны поместить все свои ресурсы в папку app/public, а для доступа к ним из своих представлений вы можете использовать вспомогательный метод asset().

Ex. вы можете получить assets/images/image.png в своем представлении следующим образом:

<img src="{{asset('assets/images/image.png')}}">

Ответ 2

Помимо размещения всех ваших ресурсов в общей папке, вы можете использовать метод HTML::image(), и ему нужен только аргумент, который также является путем к изображению относительно относительной общей папки:

{{ HTML::image('imgs/picture.jpg') }}

Который генерирует следующий HTML-код:

<img src="http://localhost:8000/imgs/picture.jpg">

Ссылка на другие элементы метода HTML::image(): http://laravel-recipes.com/recipes/185/generating-an-html-image-element

Ответ 3

Вы должны сделать два шага:

  • Поместите все ваши файлы (css, js, html-код и т.д.) в общую папку.
  • Используйте url({{ URL::asset('images/slides/2.jpg') }}), где images/slides/2.jpg - это путь к вашему контенту.

Аналогичным образом вы можете вызвать js, css и т.д.

Ответ 4

img src="{{URL::asset('img/img12.jpg')}}"

Asset предопределен здесь, поэтому не делайте его активами. Просто используйте это:)