我还是Laravel的新手。我需要从刀片服务器下载文件的帮助。该文件中有两个变量,它们有助于在数据库中存储特定数据。我已经阅读了有关存储的文档,并查看了各种教程,但我完全茫然。
我创建了一个php artisan storage:link。 我的工作就是这样的: 客户端上载一个文件,该文件存储在“存储/应用程序/上传/客户端”中,然后是其用户名,然后是文件名。 示例:storage / app / upload / client / name / file_name.ext
与团队相同。 例如:storage / app / upload / team / name / file_name.ext
我希望客户端能够下载通过form_id(关系)连接的团队上传的文件,并且我希望团队能够下载客户端上传的文件。
我尝试了各种方法,直到发现它不能直接下载,因为它不在公共文件中。出于安全原因,我不想在这里使用。
一些人在另一个论坛上给我写信,并告诉我阅读文档。老实说,我觉得这仍然没有意义。我必须使用/ app / upload / client /获取存储路径,然后输入人员名称和文件名,之后将其连接到正在查看的表单。我只是不知道如何将2个变量放入控制器或路由。请有人帮我吗?我完全不知道该怎么做。
我将其作为路线
//Team Download
Route::get('team-form/file/{file}', 'TeamFormController@downloadClientFile')->name('clientDownload');
控制器方法
public function downloadClientFile($teamform) {
$teamform = Form::where('upload');
return response()->download(storage_path('/app/upload/client/') . '/' . $teamform->forms->users->name . '/' . $teamform );
}
我的观点
<a href="{{ route('clientDownload', $teamform->forms->upload)}}" class="btn btn-outline-primary float-right" target="_blank"><i class="fa fa-download"></i> Download </a>