图像工作在index.blade.php但不是show.blade.php

时间:2018-04-25 03:16:08

标签: php laravel laravel-5

我正在使用Laravel构建一个事件管理系统。用户可以上传要与其活动一起显示的图像。我的img标签正在index.blade.php上运行,并假设我可以在show.blade.php页面上使用相同的代码,但似乎没有。 我将图像存储在public/images中,我知道我应该使用存储,但我仍然在学习基础知识,所以现在发现这很容易。

<img style="width:100%" src="images/{{$event->image}}">

4 个答案:

答案 0 :(得分:4)

正如@Frank Ayyaz所说,你可以使用反斜杠来解决另一个问题,Laravel-way使用public_path方法返回公共目录的完全限定路径。 所以你可以这样做:

{{1}}

答案 1 :(得分:3)

请使用asset()方法。 asset()方法用于包含CSS/JavaScript/images files,您可以将其用作:

{{ URL::asset('images/'.$event->image) }}

<img style="width:100%" src="{{ URL::asset('images/'.$event->image) }}">

您也可以将此功能用于CSS and js

<link href="{{ asset('css/style.css') }}" rel="stylesheet">
<script src="{{ asset('js/custom.js') }}"></script>

详情请见本文:

https://medium.com/@zwacky/laravels-url-to-vs-url-asset-fd427ed6f7ef

答案 2 :(得分:1)

我建议不要使用URL::asset而只使用资产方法,因为有时URL可能会在显示图像时导致问题...并使用dd()函数并检查您是否获得了路径{{1 }},Public_path或图像之类的自定义存储在公共目录中。

您可以使用Laravel的storage_path()方法并使用任何您喜欢的前缀..

实施例

对于静态

asset()

动态

 <img src="{!! asset('assets/images/cams/cam-01.png') !!}" class="img-fluid"
                             alt="Card image cap">

答案 3 :(得分:0)

当你使用js或css或图片时,你应该使用{{asset(&#39; path&#39;)}}来获取资源,它与你使用的刀片有关,但与资源路径有关。