2016-04-24 2 views
0

Я пытался отобразить изображение в элементе, но он не работает, И когда я просто возвращаю данные, их отображающее изображение.Как связать данные ответа для просмотра в laravel 5

route.php

Route::get('/dashboard',function() { 

     $Image = Auth::user()->profile_pic; 
     $type = 'image/jpeg'; 
     $img = response($Image)->header('Content-Type', $type); 

     return View::make('dashboard', ['img'=>$img]); 
    }); 

dashboard.blade.php

<img src={{ $img }} class="img-circle" width="200" height="200"> 

Пожалуйста, помогите.

ответ

0

Вы должны добавить маршрут, чтобы при отправке запроса на указанный URL аватар считывался из БД и отправлялся в браузер, как изображение/jpeg.

E.g. Добавьте следующий код в ваш routes.php

Route::any('/user/{user}/profile-pic', 
    function(\App\User $user) { 
     $Image = Auth::user()->profile_pic; 
     return response($Image)->header('Content-Type', 'image/jpeg'); 
    }); 

изменить маршрут/приборную панель, чтобы использовать этот новый маршрут

Route::get('/dashboard',function() { 
     $id = Auth::user()->id; 
     $imageUrl="/user/$id/profile-pic"; 
     return view('/dashboard', ['imageUrl' => $imageUrl]); 
    }); 

наконец, на ваш взгляд, связать новую переменную

<img src="{{$imageUrl}}" class="img-circle" width="200" height="200"> 
0

Это Auth::user()->profile_pic URL-адрес аватара пользователя? Если это так, просто используйте

return View::make('dashboard', ['img'=>Auth::user()->profile_pic]); 

Кроме того, добавить кавычки в атрибуте SRC:

<img src="{{ $img }}" class="img-circle" width="200" height="200"> 

Это важно знать, что

$img = response($Image)->header('Content-Type', $type); 

является объектом ответа, который Illuminate\Http\Response, но в в HTML необходима ссылка на картинку, string, а не Response

+0

я устал, но все еще не работает –

+0

Любые сообщения об ошибках? Щелкните правой кнопкой мыши и просмотрите источник страницы, какой у вас есть HTML? – Kevin

+0

нет, но все еще не показывает изображение, показывающее –

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