2014-10-09 4 views
11

assets()과 같은 Laravel의 고유 기능을 사용하지 않고 public/images 폴더에 저장된 이미지에 어떻게 액세스합니까?laravel의 공용 폴더 내부 이미지에 액세스

이미지 폴더에 저장된 이미지의 직접 URL을 가져오고 싶습니다.

예 :

localhost/webapp/images/stackoverflow.png 

링크 내가 직접 이미지를 얻을해야 요청.

답변

20

당신은 내가 내 자신의 자산 도우미를 만든 블레이드 템플릿

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

+0

그것은 나를 위해 작동합니다! – Kasthuriraajan

11

안에있는 경우.

먼저 나는 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")) }} 

자바 스크립트를 구현하려면 다음과 같이하십시오.

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

이미지를 공개 디렉토리 (공개/... 폴더 또는 직접 이미지)에 넣기 만하면됩니다.
공용 디렉터리는 기본적으로 laravel 응용 프로그램에서 렌더링됩니다.
이미지를 public/images/myimage.jpg에 저장했다고 가정합니다. 당신의 HTML보기에서 다음
, 같은 페이지 : (image.blade.php는)

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