Итак, когда вы говорите, верните его немедленно, я предполагаю, основываясь на вашем коде, вы имеете в виду, что после того, как они зарегистрировали свою учетную запись, вы перенаправляете их на страницу их профиля, и когда они перенаправляют, их изображение должно появиться при первом посещении и им не нужно обновлять sh или ждать некоторое время, прежде чем изображение станет доступным. Если я ошибаюсь, исправьте эту информацию в своем вопросе.
Итак, у вас есть несколько вещей, которые вам нужно сделать здесь.
A. Как вы будете хранить эти картинки. Есть два (более простых) способа сделать это.
Сохранение двоичных данных изображения в вашей базе данных с типом столбца blob
Сохранение изображения с длинным случайным именем, чтобы избежать конфликтов на жестком диске, где вы храните файлы c, затем сохраните случайное имя этого изображения и ссылку, к какому пользователю оно принадлежит в базе данных. Этот вариант, безусловно, самый простой, когда вы переходите к следующему разделу
B. В зависимости от того, какой из них вы сделали, вам теперь нужно получить изображение, когда они переходят к своему профилю
Когда они переходят к своему профилю, вы должны добавить URL-адрес конечной точки на вашем sever, у которого есть способ передать нужное вам изображение пользователя. Затем извлекают двоичные данные из базы данных и возвращают эти данные в виде файла.
Когда они переходят в свой профиль, получают их идентификатор пользователя. Выполните запрос к базе данных, в которой находится изображение профиля этого пользователя, и возьмите сгенерированное вами случайное имя. Поскольку этот файл сохраняется в папке файлов stati c, вы можете просто добавить URL-адрес папки stati c с этим случайным именем, добавленным в конец. Например, этот URL-адрес может выглядеть так: https://example.com/static/somerandomlongnameforthispicture.jpg
http очень простой / строгий в отношении того, как данные могут быть получены с сервера. Теперь, если вы хотите использовать ajax для этого, поскольку они уже находятся на странице своего профиля, и они обновили свое изображение, и вы хотите немедленно показать это обновление, тогда logi c, который я объясняю для хранения файла, такой же но вам нужно будет обновить URL-адрес для тега <img>
, который есть в вашем html, чтобы он указывал на имя файла, которое ваш сервер создает для этого нового изображения. Или просто принудительно обновите sh и позвольте шаблону на стороне сервера обработать обновление.