Ответ 1
Если вы находитесь внутри шаблона клинка
{{ URL::to('/') }}/images/stackoverflow.png
Как я могу получить доступ к изображениям, хранящимся в папке public/images
без использования собственных функций Laravel, таких как assets()
?
Я просто хочу получить прямой URL-адрес изображений, хранящихся в папке с изображениями.
Например:
localhost/webapp/images/stackoverflow.png
При запросе ссылки я должен получить прямой образ.
Если вы находитесь внутри шаблона клинка
{{ URL::to('/') }}/images/stackoverflow.png
Я создал помощника Asset.
Сначала я определил типы и путь активов в app/config/assets.php
:
return array(
/*
|--------------------------------------------------------------------------
| Assets paths
|--------------------------------------------------------------------------
|
| Location of all application assets, relative to the public folder,
| may be used together with absolute paths or with URLs.
|
*/
'images' => '/storage/images',
'css' => '/assets/css',
'img' => '/assets/img',
'js' => '/assets/js'
);
Тогда фактический класс Asset
:
class Asset
{
private static function getUrl($type, $file)
{
return URL::to(Config::get('assets.' . $type) . '/' . $file);
}
public static function css($file)
{
return self::getUrl('css', $file);
}
public static function img($file)
{
return self::getUrl('img', $file);
}
public static function js($file)
{
return self::getUrl('js', $file);
}
}
Поэтому, на мой взгляд, я могу сделать это, чтобы показать изображение:
{{ HTML::image(Asset::img('logo.png'), "My logo")) }}
Или как это реализовать Java-скрипт:
{{ HTML::script(Asset::js('my_script.js')) }}
Просто разместите свои изображения в общедоступном каталоге (общедоступная/... папка или прямые изображения).
Публичный каталог по умолчанию создается приложением laravel.
Предположим, что я хранил изображения в public/images/myimage.jpg
.
Затем в вашем HTML-виде, например: (image.blade.php)
<img src="{{url('/images/myimage.jpg')}}" alt="Image"/>
когда вы хотите получить доступ к изображениям, находящимся в папке общего доступа/изображений, и если вы хотите получить к нему доступ без использования функций laravel, используйте следующее:
<img src={{url('/images/photo.type')}} width="" height="" alt=""/>
Это прекрасно работает.