我有这样的下载文件链接:
<a href="{{ route('download_document', ['file' => 'agos.pdf']) }}" class=" text-info" style="cursor: pointer;">Download file</a>
路线
Route::group(['middleware' => ['web','auth','Admin','active'], 'prefix' => 'admin'], function(){
// USERS
Route::resource('user','UserController');
Route::post('user/permissions/update','UserController@update_permission')->name('update_user_permissions');
// MODULI
Route::resource('module','ModuleController');
// MODULISITICA
Route::resource('modulistica','ModulisticaController');
Route::post('modulistica_cliente','ModulisticaController@update_client_module')->name('modulistica_post_cliente');
Route::post('modulistica_prodotto','ModulisticaController@update_product_module')->name('modulistica_post_prodotto');
Route::get('modulistica/download/cliente/{file}','ModulisticaController@download_cliente')->name('modulistica_download_cliente');
Route::get('modulistica/download/{file}','ModulisticaController@download_module')->name('modulistica_download_module');
Route::get('modulistica/download/prodotto/{file}','ModulisticaController@download_prodotto')->name('modulistica_download_prodotto');
// UTILITY
Route::post('utility/become/client','UtilityController@become_client')->name('utility_become_client');
Route::resource('loan','LoanController');
Route::get('area_download/document/{file}', function ($file){
$path_file = storage_path().'/app/public/documents/'.$file;
return response()->download($path_file, $file);
})->name('download_document');
});
错误
到达“ https://mysite.it/admin/loan”视图时没有问题。当我单击GET链接时,它会将我重定向到LOGIN,但是作为我的用户通过登录名登录,会将我重定向到“ https://mysite.it/home”。
我做了一些测试以获取以下信息:
所以我的结论是问题出在中间件“ Web ”或“ Auth ”中,但我不明白为什么。如果有用,请放置整个路线组。如果您需要更多路线信息,我可以附上屏幕截图!
感谢您的帮助,谢谢!
答案 0 :(得分:2)
如果您只允许不经过任何身份验证就下载文件, 您可以尝试以下方法:
刀片文件
<a href="{{ Storage::url($file_name) }}" download class=" text-info" style="cursor: pointer;">Download file</a>
此用户可以直接下载文件。只需在href
和download
属性中添加文件路径。
,或者如果您不想验证用户身份,则删除中间件AUTH
。
您要验证用户身份,然后需要route:list
和middleware
详细信息。
答案 1 :(得分:0)
我找到了解决方案!问题是我的获取请求是通过这种方式发出的。
https://mysite.it/admin/area_download/document/example.pdf
最终的PDF扩展名会导致系统错误。避免使用最终扩展名,例如:
https://mysite.it/admin/area_download/document/example.pdf/go
问题解决了!