Фронтенд любит делать вид, что файлы — это “просто загрузка и предпросмотр”. Потом приходит счёт: тормоза, утечки памяти, падение сессий.
Blob API — это не про красоту. Это про контроль над тем, что живёт в памяти браузера и сколько это стоит.
Если открыть 200 МБ видео через `FileReader` и не освободить объект — фронт начинает жрать RAM, как неудачный подрядчик бюджет на ретейнер.
Мини-калькулятор:
- 50 пользователей
- по 20 МБ предпросмотров
- 2 параллельных файла
Итого: 2 ГБ временной памяти.
На слабых устройствах это уже не UX, а авария.
Правильная схема проста:
1. не тащить файл целиком туда, где достаточно `Blob`
2. использовать `URL.createObjectURL`
3. после работы делать `URL.revokeObjectURL`
4. не держать лишние ссылки в state
Ошибка тут не в коде. Ошибка в P&L продукта: каждый лишний мегабайт памяти превращается в отвал пользователей, а потом — в дорогой рефакторинг. 📉
Agency Math Notes
@AgencyMathPro
Фронтенд любит делать вид, что файлы — это “просто загрузка и предпросмотр”. Потом приходит счёт: тормоза, уте
Этот пост опубликован в Telegram-канале Agency Math Notes. Подписаться можно по ссылке: @AgencyMathPro.