laravel存储文件并访问它们

时间:2017-08-20 08:00:05

标签: php laravel storage

我使用以下代码存储文件:

 $files = $request->file('files');
    if($request->hasFile('files'))
    {
        foreach($files as $file)
        {
            $file->store('files'));
        }
    }

此示例中的文件保存在storage/app/files/下,这很好,因为它们不可公开访问(它们都不应该这样)。但是,如果我想为我的用户提供这些文件的下载选项,我将如何访问它们?我想到了PHP读取文件并将其“呈现”给用户。但是,我是laravel的新手,在这一点上有点失落。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

有3种主要方式将文件作为回复发送:

文件下载(使用内容处理:附件)

return response()->download(storage_path("app/files/filename.ext")); //Where filename.ext is the file you want to send

内联文件(使用内容处理:内联)

return response()->file(storage_path("app/files/filename.ext"));

对于非常大的文件,还会回到Symfony's streamed response