при регистрации пользователь А загрузил аватарку, размер которой превышает 20 мегабайт
теперь, каждый пользователь нашего сайта, который заходит на страницу А будет ожидать несколько секунд для того, чтобы увидеть полностью фото А
Это может привести к неудовлетворенности от пользования сайтом и полный отказ от него большинством пользователей. Для того, чтобы предотвратить такое развитие событий, необходимо сжимать полученные нами фото, чтобы их дальнейшая загрузка происходила в разы быстрее.
Одной из библиотек, которые помогают минифицировать изображения, является imagemin.
Один из возможных вариантов алгоритма сохранения и сжатие картинок являются:
Сохранение картинки с помощью multer в папку с временными файлами draft.
Оптимизация полученного изображения через imagemin и сохранение в папку с картинками, которые мы уже отдаем пользователям (например: images)