Laravel 5.3 保护下载文件的正确方法
Posted
技术标签:
【中文标题】Laravel 5.3 保护下载文件的正确方法【英文标题】:Laravel 5.3 proper way to secure files for download 【发布时间】:2016-09-30 15:56:23 【问题描述】:我需要从我的 Laravel 应用程序下载文件。可以为授权用户进行下载。我不想把这些文件放在公共目录中。
return response()->download('/storage/app/export/file.txt');
我在控制器中使用此响应来下载文件,但我不知道如何引用文件名/路径。
我的文件位于 storage/app/export/file.txt。但我看到下载方法假设根是 storage/app/public(链接到 public/storage/)。
如何从非公共磁盘下载文件?
【问题讨论】:
【参考方案1】:只需像这样传递完整路径:
return response()->download(storage_path('app/export/file.txt'));
【讨论】:
以上是关于Laravel 5.3 保护下载文件的正确方法的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 5.3,MySQL,迁移中正确的外键设置(一对多,多对多)
Laravel 5.2 或 5.3:如何正确实施检查会话是不是已登录
如何正确删除 Laravel 5.3 中用户表列中的“唯一”列属性?
Laravel 5.3 + Passport:总是未经身份验证的错误
Laravel 5.3 PHP Artisan 不工作 PHP 警告:需要(bootstrap/../vendor/autoload.php)