Условно есть 10 файлов.
JS открывает поток на чтение файла1, и открывает поток на выдачу этого файла клиенту. Затем как файл1 прочитан JS закрывает поток на чтение файла1 и открывает поток на чтение файла2, но при этом потом на выдачу клиенту остается открытым, то есть JS читает из разных мест, а пишет все в одну кучу. Итого после прочтения всех 10 файлов JS закрывает поток на выдачу данных клиенту и у него на машине один большой файл, склеенный из множества мелких. Итоговый объем от 300Мб до 20-30Гб, поэтому надо, чтобы склейка была потоковая, без формирования итогового файла в оперативке.
Думаю раз эти парни https://mega.co.nz не смогли и сделали расширение для проводников (кроме ие, ограничение в 1 гб на скачивание) значит ни как нельзя.