Не могу найти ответа на свой вопрос.
Я создаю приложение React с использованием NodeJS и CRA, и мне нужно реализовать систему загрузки аватаров. Но я не уверен, где сохранить загруженное изображение. Мой сервер Node обслуживает статическую папку «public», поэтому мне нужно сохранять изображения в / public / avatar? Но каждый раз, когда я буду обновлять приложение и заново создавать клиентскую папку, это будет перезаписывать общую папку и удалять все предыдущие загруженные аватары? Я прав ? Так что ты мне предлагаешь?
Спасибо,





Есть несколько мест, где вы можете хранить загруженные вами изображения, хотя хранить их в общедоступном месте, вероятно, не лучшее место.
В случае, когда вы использовали базу данных, такую как MongoDB, вы могли сохранить изображение внутри Mongo с помощью gridfs и обслуживать данные с использованием маршрута при получении информации о пользователе. Точно так же вы также можете сохранить в базе данных путь к файлу и также вернуть путь или данные файла из маршрута.
Однако будьте осторожны с пользовательскими загрузками, поскольку произвольное разрешение загруженных данных может привести к неожиданным результатам, если вы не будете осторожны.
Если вы собираетесь показать имя пользователя, подробности или что-нибудь о пользователе, запрос / ответ, который возвращает эту информацию, может очень легко также включать данные изображения или путь к изображению.
Хм, отлично, теперь я вижу, как это реализовать. Большое спасибо. Хорошего дня
Надеюсь, это, по крайней мере, укажет вам в правильном направлении. Вы также можете посмотреть кеширование изображения / данных, чтобы ограничить запросы.
Да, я постараюсь получить больше информации об этом. Я думаю, что есть какой-то пакет, который предлагает эту функцию. Может быть, мне нужно проверить загруженное изображение, если за ним нет вредоносных программ?
Вы также можете использовать Gravatar (https://gravatar.com/). Пользователь может выбрать аватар, назначенный хешу его почтового адреса, или использовать автоматически сгенерированный по умолчанию.
Однако с помощью этого решения вы не можете позволить пользователям менять свой аватар прямо на вашем сайте.
Он широко используется на известных веб-сайтах, таких как StackOverflow.
Да, я читал об их услугах, но я не особо хороший поклонник. Я думаю, это слишком ненавязчиво
Спасибо за ответ CoolestNerdlll. Да, я использую MongoDB для сохранения некоторых данных, но в случае, если я реализую чат, в котором отображается аватар, я не могу делать запрос на получение всех аватаров каждый раз, когда говорит новый пользователь, я думаю, что это не очень хорошо и действенный способ?