Боюсь, это сложная проблема для решения.
S3 не допускает никаких манипуляций с файлами на месте, поэтому вы не можете заархивировать их в одну загрузку.В браузере вы застряли с загрузкой одного URL за раз.Конечно, ничто не мешает пользователю поставить в очередь загрузки вручную с помощью диспетчера загрузок, но вы ничего не можете сделать, чтобы помочь с этим.
Таким образом, у вас остается решение на стороне сервера.Вам нужно будет загрузить файлы с S3 на сервер и сжать их перед передачей почтового индекса клиенту.К сожалению, в зависимости от количества и размера файлов, это, вероятно, займет так много времени, поэтому вам нужна система уведомлений, чтобы пользователь знал, когда их файл готов.
Кроме того, если ваш сервер не работает наEC2, вы можете платить дважды за пропускную способность.S3 к вашему серверу, а затем ваш сервер к клиенту.