doulan8846 2016-04-24 08:27
浏览 75
已采纳

如何将响应数据绑定到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.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">

Please help.

  • 写回答

2条回答 默认 最新

  • douquanjie9326 2016-04-24 17:50
    关注

    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

    Route::any('/user/{user}/profile-pic',
        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;
           $imageUrl="/user/$id/profile-pic";
           return view('/dashboard', ['imageUrl' => $imageUrl]);
         });
    

    finally, in your view, bind the new variable

    <img src="{{$imageUrl}}" class="img-circle" width="200" height="200">
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?