我使用以下代码存储文件:
$files = $request->file('files');
if($request->hasFile('files'))
{
foreach($files as $file)
{
$file->store('files'));
}
}
此示例中的文件保存在storage/app/files/
下,这很好,因为它们不可公开访问(它们都不应该这样)。但是,如果我想为我的用户提供这些文件的下载选项,我将如何访问它们?我想到了PHP读取文件并将其“呈现”给用户。但是,我是laravel的新手,在这一点上有点失落。
有什么想法吗?
答案 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。