2017-04-24 125 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