在laravel 5中从数据库显示刀片上的图像

时间:2016-04-20 15:24:11

标签: php mysql laravel-5

我试图在我的网络应用程序中添加并显示存储在BLOB类型的mysql数据库中的图像,但是在使用{{Auth :: user() - > profile_pic}}获取错误时,有人可以告诉我哪些错误我正在做和如何使用laravel 5。

dashboard.blade.php 的

@extends('layouts.app')

@section('content')
<div class="container">
    <div class="row">
        <div class="col-md-3">
            <div class="panel panel-default">
              <div class="panel-heading">Profile</div>
              <div class="panel-body">
                <img src="{{ Auth::user()->profile_pic }}" class="img-circle" width="200" height="200">
                <h3>{{ Auth::user()->name }}</h3>
                <h5>{{ Auth::user()->email }}</h5>
                <hr>
                <h6>{{ Auth::user()->created_at }}</h6>
              </div>
            </div>
        </div>
        <div class="col-md-9">

        </div>
    </div>
</div>
@endsection

1 个答案:

答案 0 :(得分:0)

html <img src="{{ Auth::user()->profile_pic }}" class="img-circle" width="200" height="200"> 需要地址网址而不是 {{ Auth::user()->profile_pic }} 在路由中添加代码首先使用响应对象获取地址

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

然后现在将响应的地址传递给html元素

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

在刀片中传递地址

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