Ваш uploadAvatar
должен быть:
Например:
(req, res, next) => {
const url = req.protocol + '://' + req.get('host')
const user = new User({
...
profileImg: url + '/public/' + req.file.filename
...
});
и ответ в реакции:
...
"user": {
...
profileImg: "http://localhost:8000/public/avatar.png"
...
}
...
ответ также должен быть URL express сервер должен быть запущен (например):
"profileImg": "http://localhost:8000/public/avatar.png"
Если вы сохраняете путь к загруженному файлу в db
без url
в reactjs app:
изменить:
<img src={imageSource} alt={imageAlt} />
to
<img src=`http://localhost:8000/public/${imageSource}` alt={imageAlt} />
Вы можете использовать эту статью, чтобы вдохновиться:
React Single File Upload Tutorial with Node, Express и Multer