Как скачать все файлы разом или цепочкой

у меня на странице есть кнопка "скачать тендерную документацию" это обычная ссылка в которой я передаю 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);

    }
}

Ответы (0 шт):