Я предполагаю, что поскольку у вас есть доступ к базе данных, у вас есть доступ к бэкэнду.
Common
Обычно вы просто сохраняете их на сервере. Создайте папку с именем images и сохраните ее там, или, в зависимости от вашей ситуации, вам могут потребоваться пользовательские папки.
./css
./img
./uploads
./uploads/user_id
./uploads/user_id/image.jpg
В зависимости от ситуации вам может не потребоваться папка со всеми их изображениями. Это облегчает обслуживание, но также позволяет другим легче находить, какие изображения связаны с каким аккаунтом. Так что, если представьте, что они должны быть скрыты для публики, я бы просто использовал общую папку или, может быть, имел папки на основе года или месяца, а затем в базе данных запомнил, где она хранится.
./css
./img
./uploads
./uploads/december
./uploads/december/2f12c20gjscv0k2.jpg
Возможно, вы также захотите создать уникальные имена для них, которые также не включают имя пользователя или идентификатор.
base64
Это не очень распространено, но возможно ... вы можете сохранить изображения как base64 в базе данных. Не очень рекомендуется, поскольку некоторые изображения ОГРОМНЫ, но для небольших изображений, таких как аватары, размером всего 32x32, это быстрый способ доступа к пользовательским данным. A
Это также очень полезно при работе с одностраничными приложениями или множеством данных JSON и тому подобного. Плюс, если вам нужно сделать только один вызов для нужных вам данных и вы можете хранить URL base64 локально.
Помните, что файлы base64 обычно больше, но если вы отправляете ссылку, браузерпридется загружать этот файл во время загрузки страницы, так что есть большой компромисс. Как я уже говорил, по моему опыту, это действительно полезно только для одностраничных приложений, которые загружают все через вызовы ajax или подобные события. Изображения, которые слишком велики, редко бывают хорошей идеей для этого.
Thirdparty
Некоторые сторонние организации могут отправлять им изображения, это часто доставляет больше хлопот, но тогда выне нужно беспокоиться об этом и просто сохранить URL в базе данных. Я бы не стал этого рекомендовать, если вы не работаете в сверхбольших масштабах и не используете много серверов, или если вы находитесь на очень ограниченном сервере ... что довольно редко.