如何在laravel上的公共存储链接中显示用户文件夹中的图像

时间:2017-06-15 03:29:31

标签: php image laravel storage

我有一个Laravel应用程序,其中包含指向公用文件夹的存储链接,我正在尝试在应用程序视图中显示图像。但是,我不确定如何使用存储文件夹的结构方式这样做。

基本上,文件夹以用户名开头,然后有子文件夹,如联系人,文件,图像等。应用程序应在src标记中显示用户的图像以显示配置文件视图。

<div class="container">
    <div class="row">
        <div class="col-md-10 col-md-offset-1">
            <img class="profileImage" src="{{ url('storage/{{ Auth::user()->name }}/images/{{ $profileImage }}') }}" style="width: 150px; height: 150px; float: left; border-radius: 10%; margin-right: 25px;">
            <h2>{{ Auth::user()->name }}</h2>
            <form enctype="multipart/form-data" action="{{ route('profile.update') }}" method="post">
                <label>Update Profile</label>
                <input type="file" name="profileImage" id="profile-image">
                <input type="hidden" name="_token" value="{{ csrf_token() }}">
                <input type="submit" class="pull-right btn btn-sm btn-primary">
            </form>
        </div>
    </div>
</div>

我尝试指向网址中的链接:`

{{ url('storage/app/public/{{ Auth::user()->name }}/images/{{ $profileImage }}`

但是,当我加载页面时,图像不会显示,甚至不会保存。这是从视图函数加载图像的正确方法吗?`

public function getUserProfile()
{
    return view('users.profile', ['user' => Auth::user()]);
}`

程序如何从存储中的用户文件夹加载图像?

`

2 个答案:

答案 0 :(得分:0)

您的代码未指向正确的文件夹路径。你可以试试这个

url('storage/app/public/{{ Auth::user()->name }}/images/{{ $profileImage }}')

答案 1 :(得分:0)

尝试使用符号链接来访问数据。

php artisan storage:link

参考:https://laravel.com/docs/5.4/filesystem