Нужно использовать что-нибудь для обработки multipart/form-data, вроде
node-multiparty.
Там в событии
part будут приходить потоки, нужно будет копировать их содержимое в список в таблицу
имяфайла → список кусков. Затем по окончанию запроса посчитать общую получившуюся длину файлов в каждом списке, сделать такой буффер, скопировать всё в один, обрабатывать как хочется.
Отправить тривиально — держать ссылку на response, как закончили обрабатывать — туда можно записать ответ. Только если у вас не текстовые файлы и хотите, чтобы он автоматически скачался, а не показался в браузере — установите заголовок ответа в
application/octet-stream.