Как скачать все файлы разом или цепочкой
у меня на странице есть кнопка "скачать тендерную документацию" это обычная ссылка в которой я передаю id тендера. Далее в контроллере я нахожу все прикрепленные файлы к этому тендеру и отправляю на скачивание. Все работает, но только для одного файла а если допустим к тендерной заявке в базе прикреплено несколько файлов как мне сделать что бы при нажатии на кнопку скачивались файлы друг за другом?
На стороне vue просто ссылка в которой передаю id тендера <a :href="route('tender.doc',tender.id)"
Тендерная документация
вот код метода контроллера
public function getTenderDocumentation($id): StreamedResponse|JsonResponse {
$files = FileStore::where('el_type_obj_code', 'tenders')
->where('type_object_id', $id)->get();
foreach ($files as $file) {
$client = new Client([
'base_uri' => 'http://localhost:8000',
'timeout' => 60.0
]);
$response = $client->get('/docs/receive/' . $file->file_id, [
'headers' => [
'Authorization' => "Bearer " . env('FILE_STORE_API_TOKEN'),
'Accept' => 'multipart/byteranges'
]
]);
foreach ($response->getHeader('content-disposition') as $header) {
$file_name = Str::after($header, 'filename=');
}
return response()->streamDownload(function () use ($response) {
echo $response->getBody()->getContents();
}, $file_name);
}
}