我必须使用laravel 5.6从我的Web应用程序中下载一些文件,并且正在使用本地存储。
我的路由如downloads/{file}
和auth中间件一样,并且运行正常。
laravel网站www.myweb.com/storage/files/ ...中的默认存储URL为
问题是,如果我使用路由www.myweb.com/downloads/foo.pdf
,则说明控制器工作正常,必须登录才能下载文件
但是如果我从www.myweb.com/storage/files/foo.pdf
访问,则可以看到文件而无需登录
我该如何解决?我应该创建另一个控制器或路由来处理此问题吗?
我应该创建一条类似
的路线吗Route::get('/storage/files/{file}', 'FilesController@download')->middleware('auth');
答案 0 :(得分:-1)
/storage/files
已经是存储的实际路径。为避免冲突,将您的路线更改为其他路径
Route::get('/storage/files/{file}', 'FilesController@download')->middleware('auth');
更改为(样本)
Route::get('/files/{file}/download', 'FilesController@download')->middleware('auth');
然后在FilesController