2014-10-09 17 views
11

Làm cách nào để truy cập hình ảnh được lưu trữ trong thư mục public/images mà không sử dụng các chức năng của Laravel như assets()?Truy cập hình ảnh trong thư mục công cộng trong laravel

Tôi chỉ muốn lấy URL trực tiếp của hình ảnh được lưu trữ trong thư mục hình ảnh.

Ví dụ:

localhost/webapp/images/stackoverflow.png 

Khi yêu cầu liên kết tôi sẽ nhận được hình ảnh trực tiếp.

Trả lời

20

Nếu bạn đang ở trong một mẫu lưỡi

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

+0

Nó làm việc cho tôi! – Kasthuriraajan

11

Tôi đã tạo ra một helper Asset của riêng tôi.

Đầu tiên tôi xác định các loại tài sản và con đường trong 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' 
); 

Sau đó, thực tế Asset lớp:

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

} 

Vì vậy, theo quan điểm của tôi, tôi có thể làm điều này để hiển thị một hình ảnh:

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

Hoặc như thế này để triển khai tập lệnh Java:

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

Chỉ cần đặt hình ảnh của bạn vào Thư mục công cộng (thư mục công cộng/... hoặc hình ảnh trực tiếp).
Thư mục công cộng theo mặc định được hiển thị bởi ứng dụng laravel.
Giả sử tôi đã lưu trữ hình ảnh trong public/images/myimage.jpg.
Sau đó, trong chế độ xem HTML của bạn, trang như: (image.blade.php)

<img src="{{url('/images/myimage.jpg')}}" alt="Image"/> 
Các vấn đề liên quan