iamnikas
@iamnikas
Веб-архитектор, UI-дизайнер, веб-разработчик

Как правильно хранить аватарки пользователей на node.js?

С помощью express была реализована система загрузки аватарки. Куда дальше файл аватарки нужно пропихивать ? В папку на бэкенде?
А как этот файл отдавать пользователю если он его запрашивает в своём профиле ?
  • Вопрос задан
  • 417 просмотров
Пригласить эксперта
Ответы на вопрос 1
@alexalexes
https://habrahabr.ru/post/37686/
Тут для PHP, но для любого backend концепция от этого не поменяется.
1) Перенаправляем все ссылки для получения картинок на скрипт для проверки прав доступа.
2) Проверяем права доступа пользователя по сессионным данным;
3) Все ОК, сессия пользователя жива, файл существует, пользователь является владельцем файла или каким-то образом относится к нему (хотя бы для чтения) - передаем команду nginx серверу отдать файл из защищенного каталога.
4) Не ОК, отдаем пользователю 404.
3.1) Нет nginx ? Читаем файл серверным скриптом (лучше небольшими порциями, для экономии оперативной памяти сервера), отдаем пользователю данные с соответствующим mime-тайпом. На стороне клиента отданные данные прорисуются в img теге или в background-e DOM-элемента, не принципиально, каким образом прилетели бинарные ресурсы от сервера.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы