Как скачать файл в ОЗУ и преобразовать его в base64??
Всем привет, не получается реализовать следующее:
Скачать файл по ссылке, не сохраняя его на диск (прямо в ОЗУ),
затем полученное преобразовать в base64 строку.
Возникают разные проблемы, последняя это при преобразовании забивается стек, прошу опытных людей помочь.
Желательно без лишних библиотек и посредством node-fetch.
вообще кейс плохой,
первый аспект, нода дает возможность работать потоками, и держать даже 10 мб файл в памяти приложения весьма дорогое удовольствие, прийдет 1000 пользователей и сделает такое и памяти не хватит, будет креш приложения.
второй аспект, почему это плохо, допустим загрузил ты файл в буфер, начал его конвертить в бейс 64, у тебя уже больше чем 20 мб памяти занято в моменте времени (при файле в 10мб).
третий аспект - длинные операции блокируют эвентлуп, итог пока ты это считаешь у тебя блокируется остальной ввод вывод.
четвертый аспект, видимо эту бейс64 строку ты потом будешь возвращать браузеру, опять же вопрос производительности.
хорошим кейсом будет проксирование потока загрузки с внешнего ресурса с одновременной передачей его клиенту через чанки.