无法访问Laravel中上传的文件

时间:2017-04-24 20:41:10

标签: php laravel file upload storage

我正在建造我的第一个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>

我尝试过几种不同的方式在互联网上找到,但没有一种方法适合我。

提前感谢您的回答。

1 个答案:

答案 0 :(得分:0)

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

尝试改变这一点:

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

到此:

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