Nejprve musíte převést data vyrovnávací paměti na base64. Můžete to udělat v back-endu nebo front-endu, na tom nezáleží. Stačí použít yourBufferData.toString('base64')
. Pak to můžete použít.
Navrhoval bych však jiný způsob ukládání obrázků namísto ukládání binárních dat. Za předpokladu, že používáte nodejs. Můžete vytvořit obrázek v úložišti s těmito binárními daty pomocí fs.writeFile
metoda. Potom můžete uložit cestu k obrázku do záznamu (db). Poté stačí zadat cestu k souboru do ng-src="cesta k souboru, který jste uložili". Zde je příklad, který používám:
var path = 'upload/profiles/' +req.body.userId + '_profile.jpg';
fs.writeFile(path, base64data, function(err) {
if (err) return next(err);
User.findByIdAndUpdate({
_id: req.body.userId
}, {
$set: {
profileImg: 'upload/profiles/' +req.body.userId + '_profile.jpg'
}
}, function(err, user) {
if (err) return next(err);
return res.send(user);
});
});
<img ng-src="savedpath">