在laravel中访问公用文件夹内的图像

Pal*_*diN 27 laravel

如何在public/images不使用Laravel自己的功能的情况下访问存储在文件夹中的图像assets()

我只想获取存储在images文件夹中的图像的直接URL.

例如:

localhost/webapp/images/stackoverflow.png
Run Code Online (Sandbox Code Playgroud)

请求链接时,我应该得到直接图像.

Col*_*oen 34

如果您在刀片模板中

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


小智 19

只需将您的图像放入公共目录(公共/ ...文件夹或直接图像).
公共目录默认由laravel应用程序呈现.
我们假设我存储了图像public/images/myimage.jpg.
然后在HTML视图中,页面如:(image.blade.php)

<img src="{{url('/images/myimage.jpg')}}" alt="Image"/>
Run Code Online (Sandbox Code Playgroud)


Tho*_*sen 17

我创建了自己的资产助手.

首先,我在以下位置定义了资产类型和路径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'
);
Run Code Online (Sandbox Code Playgroud)

那么实际的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);
    }

}
Run Code Online (Sandbox Code Playgroud)

所以在我看来,我可以这样做来显示图像:

{{ HTML::image(Asset::img('logo.png'), "My logo")) }}
Run Code Online (Sandbox Code Playgroud)

或者像这样实现Java脚本:

{{ HTML::script(Asset::js('my_script.js')) }}
Run Code Online (Sandbox Code Playgroud)


Gra*_*ant 15

您只需要使用assetLaravel 中的辅助函数即可。(url助手也可以这样使用)

<img src="{{ asset('images/arrow.gif') }}" />
Run Code Online (Sandbox Code Playgroud)

对于绝对路径,您可以使用public_path

<p>Absolute path: {{ public_path('images/arrow.gif') }}</p>
Run Code Online (Sandbox Code Playgroud)

如果您从控制器(后端)提供公共图像的 URL,asset也可以使用,或者secure_asset如果您需要 HTTPS。例如:

$url = asset('images/arrow.gif'); # http://example.com/assets/images/arrow.gif
$secure_url = secure_asset('images/arrow.gif'); # https://example.com/assets/images/arrow.gif

return $secure_url;
Run Code Online (Sandbox Code Playgroud)

最后,如果您想直接转到给定路线上的图像,您可以重定向到它:

return \Redirect::to($secure_url);
Run Code Online (Sandbox Code Playgroud)

更多Laravel 辅助函数可以在这里找到


Nim*_*ani 6

当您要访问位于public / images文件夹中的图像,并且要在不使用laravel函数的情况下访问它时,请使用以下命令:

<img src={{url('/images/photo.type')}} width="" height="" alt=""/>
Run Code Online (Sandbox Code Playgroud)

这很好。