sql >> Databáze >  >> NoSQL >> MongoDB

Uložte soubor obrázku v binárních datech v mongoose schématu a zobrazte obrázek ve formě html

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



  1. Dezinfikujte uživatelský vstup v Mongoose

  2. Upozornění:Nedefinovaná vlastnost:MongoDB\Driver\Manager::$mydb v [Cesta] na wamp serveru

  3. Jak nakonfigurovat webovou aplikaci spring boot s redis pomocí Dockeru

  4. Jak promítnout/filtrovat vložené klíče s použitím regulárního výrazu na klíč