MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Przechowuj plik obrazu w danych binarnych w schemacie mangusty i wyświetlaj obraz w formie html

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



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Dlaczego baza danych aplikacji Meteor, która została uruchomiona raz (i nigdy nie została załadowana) zajmuje prawie 3 GB?

  2. MongoDB Spark Connector py4j.protocol.Py4JJavaError:Wystąpił błąd podczas wywoływania o50.load

  3. mongoDB/mongoose:unikalne, jeśli nie null

  4. MongoDB Database, odpowiednik SELECT column1, column2 FROM tbl

  5. Jak ustawić objętość danych docker mongo