2017-06-15 46 views
0

我有一个Laravel应用程序,它具有存储链接到公用文件夹,我试图在应用程序视图中显示图像。但是,我不确定如何使用存储文件夹的结构。如何在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()]); 
}` 

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

`

+0

您是否使用公盘?您是否阅读了关于检索网址的文档? https://laravel.com/docs/5.4/filesystem – sisve

+0

我知道如何在laravel上使用带有存储的URL。我试图看看如何将文件变量放在视图内的图像路径中。 – metaco57

+0

好的。你可以使用你应该检索文件url的实际方式更新你的问题中的代码吗?因为你不应该自己建立网址,就像你在做什么一样。暗示;它可能涉及'Storage :: disk('public') - > url('...')'。 – sisve

回答

0

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

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

这似乎并不奏效。右括号被IDE解释为'url'标签的右括号。 – metaco57

+0

我尝试使用slu to让程序识别用户文件,但它仍然不会在应用程序上显示照片。 – metaco57

0

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

php artisan storage:link 

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

+0

我已经做到了。 – metaco57

+0

我尝试使用手动制作的上传文件夹之前,并显示配置文件图像。我试图弄清楚如何在存储链接上做同样的事情。 – metaco57

相关问题