2014-11-17 4 views
1

он показывает изображения index.blade.php http://imgur.com/hZshMrl в порядке, когда я нажимаю {{link_to_action (PostController @ show ',' Читать блог '}} на следующей странице он отказался показать изображение даже если я проверяю элемент, проверяю img-файл, чтобы открыть src = "img/1.img", нет изображения, когда я возвращаюсь назад index.blade.php обратно к нормальному. Почему это?Изображение не отображается в Laravel 4 Framework

<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('[email protected]','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 верстак для таблицы «сообщений».

Я пробовал те {{{$ post-> user-> img_path}}} {{$ post-> img_path}} {{$ post-> user-> img_path}} {{$ post-> img_path}}

не удалось показать его сломанное изображение.

ответ

1

Я полагаю, это потому, что эталонное изображение файла хранится в базе данных относительны. Вам нужно поставить полный путь, потому что если вы идете в http://example.com/posts/1, ваш шаблон затем будет искать IMG/filename.jpg в каталоге под названием сообщений, который не существует.

Вместо этого вы должны использовать абсолютный URL-адрес. Если ваши изображения просто хранятся в публичной/IMG, то вы можете сделать что-то подобное в вашем show.blade.php шаблона:

@if ($post->img_path) 
    <img class="img-upload" src="{{ asset($post->img_path) }}" style="max-width: 25%"> 
@endif 

Это будет предварять корневой URL сайта на пути вашего изображения.

+0

'great explain' – Ironheartbj18

0

Используйте asset helper

{{ asset($post->img_path) }} 

Это генерирует абсолютного пути с вашим полным доменом

Смежные вопросы