ну а ваше решение какое?мое решение описано в моем ответе.
Но что делать, если будет 100, 200 или даже 5000 мегабайт?использовать потоковые парсеры.
Не проще ли контролировать нагрузку запросами с фронта?не проще: мало того, что вы грузите фронт вообще не его задачами, так вы еще и сервер бомбите запросами.
разница в том, что ваш вариант предполагает загрузку по сети всего файла (возьмём ваши же 5000), его процессинг и при факапах повторение того же самого (не учитывая, что по вашему варианту будет полно ненужных сетевых запросов).
а мой вариант работает на сервере и берёт файл с сервера, и вообще никак не трогает ни сеть вообще, ни браузер у клиента.
разницу не наблюдаете?