Jatin Balodhi Jatin Balodhi - 1 year ago 37
SQL Question

How to bind response data to view in laravel 5

I was trying display an image at element but it is not working, And when i'm simply returning the data its displaying image.


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]);


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

Please help.

Answer Source

You should add a route so that when a request is sent to the specified URL, the avatar is read from the DB and sent to the browser, as image/jpeg.

E.g. Add the following code to your routes.php

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

modify the /dashboard route to make use of this new route

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

finally, in your view, bind the new variable

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