2014-10-09 10 views
11

Jak uzyskać dostęp do obrazów zapisanych w folderze public/images bez korzystania z własnych funkcji Laravel, takich jak assets()?Dostęp do obrazów w folderze publicznym w języku laravel

Po prostu chcę uzyskać bezpośredni adres URL obrazów przechowywanych w folderze obrazów.

Np

localhost/webapp/images/stackoverflow.png 

przypadku żądania łącza i powinna uzyskać bezpośredni obraz.

Odpowiedz

20

Jeśli jesteś wewnątrz szablonu ostrza

{{ URL::to('/') }}/images/stackoverflow.png

+0

To działa na mnie! – Kasthuriraajan

11

Utworzono pomocnika Aktywów własną rękę.

Najpierw zdefiniować rodzaje aktywów i ścieżki w 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' 
); 

Wtedy rzeczywista Asset klasa:

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); 
    } 

} 

Więc moim zdaniem mogę to zrobić, aby pokazać obraz:

{{ HTML::image(Asset::img('logo.png'), "My logo")) }} 

Lubisz to, aby zaimplementować skrypt Java:

{{ HTML::script(Asset::js('my_script.js')) }} 
8

Po prostu umieść swoje obrazy w katalogu publicznym (folder publiczny/... lub zdjęcia bezpośrednie).
Katalog publiczny jest domyślnie renderowany przez aplikację laravel.
Załóżmy, że zapisałem obrazy w numerze public/images/myimage.jpg.
Następnie w widoku HTML, strona jak: (image.blade.php)

<img src="{{url('/images/myimage.jpg')}}" alt="Image"/> 
Powiązane problemy