2016-10-21 80 views
2

我正在嘗試使用laravel的Storage正面允許用戶上傳和下載文件。使用laravel存儲

我正在使用local驅動程序。裏面我有以下目錄結構:

storage/ 
     app/ 
      uploads/ 
       files/ 

我用下面命令創建一個象徵性的油墨:

ln -s storage/app/uploads/files public/uploads/files 

到目前爲止,我可以將文件存儲到/files directory。我嘗試下載時出現問題。

$exists = Storage::disk('local')->exists('uploads/files/' . $upload->file_name); 
    $file_path = Storage::url('uploads/files/' . $upload->file_name); 

    if ($exists) { 

     $header = [ 
      'Content-Length' => $upload->size, 
      'Content-Type' => $upload->mime 
     ]; 

     return response()->download($file_path, $upload->title . '.' . $upload->type, $header); 
} 

出於某種原因,value of exists is false??

編輯1: 我已經糾正了添加一個斜槓的錯誤,但我無法下載該文件。任何人都可以提出解決方案

回答

0

我想你

$exists = Storage::disk('local')->exists('uploads/files' . $upload->file_name); 

你錯過了 '/'

$exists = Storage::disk('local')->exists('uploads/files/' . $upload->file_name); 

這將邁幫助您

+0

謝謝你的存在()函數現在返回1,但我仍然不能夠下載該文件。 – user3552551

+0

@ user3552551你應該包含錯誤消息,指出「我不能」不會幫助任何人確定**它如何失敗。 – Mjh