它显示图像index.blade.php http://imgur.com/hZshMrl很好,当我点击{{link_to_action(PostController @ show','阅读博客'}}下一页拒绝显示图像。即使我检查元素检查img文件打开src =" img / 1.img'没有可用的图像。当我回到index.blade.php它回到这是为什么?
<div class="container">
@forelse($posts as $post)
<div class="blogs">
<h3>{{{ $post->title }}}</h3>
<p class="info"> {{{ $post->content }}} </p>
<p class="info"> by: {{{ $post->user->first_name }}} {{{ $post->user->last_name }}} </p>
{{link_to_action('PostController@show','Read Blog', array($post->id))}}
<span class="posted" style="text-align:left">{{{ $post->created_at->format(Post::DATE_FORMAT)}}}</span>
@if ($post->img_path)
<p style="text-align:right"><img class="img-upload" src="{{ $post->img_path }}" style="max-width: 25%">
@endif
</div>
@empty
<p>No Blogs</p>
@endforelse
{{ $posts->links() }}
</div>
show.blade.php http://imgur.com/WdtkyAt
<div class="container">
@if ($post->img_path)
<img class="img-upload" src="{{ $post->img_path }}" style="max-width: 25%">
@endif
</div>
Postcontroller.php
public function show($number)
{
//
$post = Post::find($number);
return View::make('posts.show')->with('post', $post);
}
Mysql workbench和&#34; posts&#34;表
我试过那些 {{{$ post-&gt; user-&gt; img_path}}} {{$ post-&gt; img_path}} {{$ post-&gt; user-&gt; img_path}} {{$ post-&gt; img_path}}
它没有成功显示图像破坏。
答案 0 :(得分:1)
我想这是因为存储在数据库中的图像文件名引用是相对的。您需要填写完整路径,因为如果您转到 http://example.com/posts/1 ,您的模板将会在一个地方寻找 img / filename.jpg 名为帖子的目录,该目录不存在。
相反,您应该使用绝对URL。如果您的图片只是存储在 public / img 中,那么您可以在 show.blade.php 模板中执行以下操作:
@if ($post->img_path)
<img class="img-upload" src="{{ asset($post->img_path) }}" style="max-width: 25%">
@endif
这会将网站的根网址添加到图片的路径中。
答案 1 :(得分:0)