2016-10-21 46 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