MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Bilddatei in Binärdaten im Mongoose-Schema speichern und Bild in HTML-Form anzeigen

Zunächst müssen Sie die Pufferdaten in Base64 konvertieren. Sie können es im Back-End oder Front-End tun, es spielt keine Rolle. Verwenden Sie einfach yourBufferData.toString('base64') . Dann können Sie es verwenden.

Ich würde jedoch eine andere Möglichkeit vorschlagen, Bilder zu speichern, anstatt Binärdaten zu speichern. Angenommen, Sie verwenden nodejs. Sie können mit diesen Binärdaten ein Image in einem Repository erstellen, indem Sie fs.writeFile verwenden Methode. Dann können Sie diesen Bildpfad im Datensatz (db) speichern. Fügen Sie danach einfach den Dateipfad in ng-src="Dateipfad, den Sie gespeichert haben" ein. Hier ist das Beispiel, das ich verwende:

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">