2017-04-24 132 views
0

我正在构建我的第一个laravel项目,所以我没有太多的经验。 我有这种形式上传多个文件。无法访问Laravel上传的文件

{!! Form::open(array('id' => 'upload', 'class' => 'form-horizontal', 'url' => 'upload', 'enctype' => 'multipart/form-data')) !!} 
     {!! Form::file('files[]', array('multiple'=>true)) !!} 
     {{ Form::submit('upload', array('class' => 'btn btn-success btn-block')) }} 
{!! Form::close() !!} 

比我的文件保存在控制器这样

public function postUpload(Request $request) { 
    $path = "public/documents/"; 
    if ($request->files) { 
     foreach ($request->files as $file) { 
      $fileName = $file->getClientOriginalName(); 
      $file->storeAs($path, $fileName); 
     } 
    } 
} 

但是当我尝试做一个链接,打开文件 - 它说文件不存在

<a href= {{storage_path('file.pdf') }}>click</a> 

我试过几种不同的方法,我可以在互联网上找到,但他们都没有为我工作。

非常感谢您的回答。

回答

0

检查你的路径,storage_path与public_path不同。 我想你是保存你的文件在你的public_path()/文件,并试图从storage_path()下载你的文件。

尝试改变这一点:

<a href="{{storage_path('file.pdf')}}">click</a> 

这样:

<a href="{{public_path()}}/documents/file.pdf">click</a> 
+0

谢谢你的评论。但是没有文件实际存储到存储目录。我甚至做了符号链接将其链接到公共文件夹,但没有帮助。我认为它会是一件愚蠢的事情。如果它是相关信息,我在宅基地上运行它。 您提供的链接为我提供了此URL - > http://katastr.app/home/vagrant/code/katastr/public/documents/file.pdf – vikiedr