use*_*614 1 php file download authorize laravel
假设我想创建一个应用程序,用户可以将私有文件上传到基于laravel的网站.我不想让他们的文件公开,但我希望他们能够在登录后下载文件.
所以我需要验证他们已经登录,并且他们有正确的帐户ID来下载特定文件.我该如何创建此限制?
我一直在寻找http://laravel.com/docs没有成功,并且通过谷歌搜索我只能获得一些香草PHP样本,但是整合到laravel看起来很麻烦,你建议我做哪种方式这个?
我可能会在我头脑中过度复杂化,也许我可以在数据库中创建一个具有帐户ID和文件路径的表,并使用Response :: download($ pathToFile); 用.htaccess限制上传的文件夹不允许?
(假设laravels Response :: download方法绕过.htaccess)但即使这项工作,最好找到一种方法来做到这一点,而没有.htaccess认为?
编辑 我想我只是将文件作为blob存储在数据库中,然后从那里加载它.这样我就可以轻松地进行授权验证.
小智 5
您所要做的就是将文件存储在私人目录(例如/ app/files)中并设置正确的标题.
$name = 'name.zip';
$file = '/app/files/name.zip';
$header = array(
'Content-Type' => 'application/octet-stream',
'Content-Disposition' => 'attachment',
'Content-lenght' => filesize($file),
'filename' => $name,
);
// auth code
return Response::download($file, $name, $header);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4283 次 |
| 最近记录: |