Laravel 和图像显示

Laravel and images display

我正在使用 laravel 5.2,此刻我正在使用内置 php 服务器测试我的视图。为了在视图中显示图像,我使用了这段代码

<img src="{{asset('images/logo.png')}}" alt="logo">

当我通过浏览加载页面时,我看不到图像,如果我尝试检查代码,我会看到

<img src="http://localhost:8010/images/logo.png" alt="logo">

然后,如果我尝试跟随图像的 link,我看不到图像,但它是代码:

http://p4c.it/test.jpg

很明显我做错了,这个问题与mime类型的定义有关吗?对于我所看到的 {{asset('my_file_here')}} 可以很好地处理 css 文件和 jvascript。

首先创建虚拟主机并检查您的图像文件夹权限。

资源文件夹用于 blade 视图、本地化和未编译的 css/js 文件(SASS、LESS 等)(如 here 在 Laravel 文档)。而是将您的图片放在 public 文件夹中的 sub-folder 中。默认情况下,public 文件夹应该有足够的权限,然后它应该可以工作。确保仔细检查这些权限(应为 775、755 或 777,具体取决于您的偏好)。

--

我建议您使用 laravelcollective/html,它允许您使用 blade 语法轻松创建 HTML。他们似乎没有显示您可以使用此软件包执行的所有操作,但您最终将能够执行以下操作:

{!! Html::image('images/logo.png') !!}

您也可以使用它来传递 alt 或 类,例如:

{!! Html::image('images/logo.png', 'your alt', ['class' => 'your classes here']) !!}

问题与权限和内置 php 服务器有关,事实上我在我的 nginx 服务器中设置了一个站点可用的 conf 文件并且一切正常。