Przede wszystkim musisz przekonwertować dane z bufora na base64. Możesz to zrobić w back-endzie lub front-endzie, to nie ma znaczenia. Po prostu użyj yourBufferData.toString('base64')
. Wtedy możesz go użyć.
Sugerowałbym jednak inny sposób przechowywania obrazów zamiast przechowywania danych binarnych. Zakładając, że używasz nodejs. Możesz utworzyć obraz w repozytorium z tymi danymi binarnymi za pomocą fs.writeFile
metoda. Następnie możesz zapisać tę ścieżkę obrazu w rekordzie (db). Następnie po prostu umieść ścieżkę pliku w ng-src="ścieżka pliku, który zapisałeś". Oto przykład, którego używam:
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">