MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Stocker le fichier image dans les données binaires dans le schéma de la mangouste et afficher l'image sous forme html

Tout d'abord, vous devez convertir les données du tampon en base64. Vous pouvez le faire en back-end ou en front-end, peu importe. Utilisez simplement yourBufferData.toString('base64') . Ensuite, vous pouvez l'utiliser.

Cependant, je suggérerais une autre façon de stocker des images au lieu de stocker des données binaires. En supposant que vous utilisez nodejs. Vous pouvez créer une image dans un référentiel avec ces données binaires en utilisant fs.writeFile méthode. Ensuite, vous pouvez stocker ce chemin d'image dans record (db). Après cela, mettez simplement le chemin du fichier dans ng-src="chemin du fichier que vous avez enregistré". Voici l'exemple que j'utilise :

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