Даже если я один файл загружу и в момент отправки прерву соединение, то файл сохранится битый
Мне кажется ты пытаешься учесть все чего только можно, ты не должен на своей стороне гарантировать что у клиента вдруг отрубилось соединение - это проблема клиента, значит когда у него будет восстановлено соединение, пусть по новой грузит файлы, так же, если к примеру взять виджет того же самого cloudinary, то у нем есть загрузка многих файлов, но по факту, грузится один за другим, пользователю реально пофиг, что у тебя будет либо асинхронно либо последовательно грузиться группа файлов, правильнее всего грузить группу файлов последовательно, но это моё мнение)