2016-04-24 9 views
0

Ich habe versucht, ein Bild am Element anzuzeigen, aber es funktioniert nicht, Und wenn ich einfach die Daten zurückgebe, das angezeigte Bild.Wie zu binden Antwortdaten in 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"> 

Bitte helfen Sie.

Antwort

0

Sie sollten eine Route hinzufügen, damit beim Senden einer Anfrage an die angegebene URL der Avatar aus der Datenbank gelesen und als image/jpeg an den Browser gesendet wird.

z. Fügen Sie den folgenden Code in Ihre 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'); 
    }); 

die/Armaturenbrett Route ändern

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

schließlich in Ihrer Sicht binden die neue Variable

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

Ist die URL des Benutzeravatars? Wenn ja, benutzen Sie einfach

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

Fügen Sie außerdem Anführungszeichen src-Attribut:

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

Es ist wichtig zu wissen, dass

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

ist eine Antwort Objekt, das Illuminate\Http\Response ist, aber in Im HTML-Format benötigen Sie eine Verknüpfung zum Bild, eine string, anstelle einer Response

+0

i Einsatz dieser neuen Strecke zu machen müde das aber immer noch nicht funktioniert –

+0

Irgendwelche Fehlermeldungen? Klicken Sie mit der rechten Maustaste und sehen Sie sich die Seitenquelle an. Welchen HTML-Code haben Sie? – Kevin

+0

nein, aber noch nicht Bild zeigt, zeigt –