MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Съхранявайте файл с изображение в двоични данни в схема на mongoose и показвайте изображение в html форма

На първо място, трябва да конвертирате буферни данни в base64. Можете да го направите в back-end или front-end, няма значение. Просто използвайте yourBufferData.toString('base64') . След това можете да го използвате.

Въпреки това бих предложил друг начин за съхраняване на изображения вместо съхраняване на двоични данни. Ако приемем, че използвате nodejs. Можете да създадете изображение в хранилище с тези двоични данни, като използвате fs.writeFile метод. След това можете да съхраните този път на изображението в запис (db). След това просто поставете пътя на файла в ng-src="път на файла, който сте запазили". Ето примера, който използвам:

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. Защо MongoDB не се актуализира, освен ако не извикам .then res.json(...) след findOneAndUpdate?

  2. промяна на типа mongodb в масив

  3. render_template с множество променливи

  4. ListCollections с авторизирана колекция

  5. Грешка в Mongoose Promise