I'm storing images at mongodb database. I want to display response i get from express api as image on client side. Image source looks like this
src="/image/data/5a44dde172aa021d107e7d33"
And i send back data like this. And when i write image url to browser it shows nothing.
var imgId = req.params.id;
imageModel.findById(imgId)
.then((img) => {
res.status(200).send(img.data);
})
.catch((exc) => {
res.status(400).send();
});
And i upload the file like this.
router.post("/", upload.any(), (req, res) => {
if (req.files && req.files.length > 0) {
for (var i = 0; i < req.files.length; i++) {
var file = req.files[i];
var image = new imageModel({ data: file.buffer.toString(), name: file.fieldname, createdBy: req.user.id });
image.save(function (err, img) {
if (err)
res.status(400).send(err);
else
res.status(200).send(response.create(img));
});
}
}
});
What am i doing wrong?
img.datatype? base64String? BinaryStirng?