2015-07-16 3 views
2

Я храню изображения из углового приложения в MongoDB с использованием GridFS. У меня проблема при получении изображений из базы данных. Я могу показывать только изображения в iexplorer и postman.In chrome, firefox выглядит как поврежденное изображение. Есть ли способ отображения изображений в угловом формате непосредственно из базы данных? Я использую экспресс. И попробуйте вставить изображение, как это: <img src="upload/55a75dbb749062041b4c84ba"/>MongoDB Gridfs NODE display image

Мой маршрутизатор

router.get('/upload/:objectId',function(req, res){ 

    var options = { 
     _id : req.params.objectId 
    }; 

    gfs.exist(options, function(err, exists) { 
     if(!exists) { 
      res.status(404); 
      res.end(); 
     } else { 
      res.set('Content-Type', 'image/jpeg'); 
      var readstream = gfs.createReadStream(options); 
      readstream.pipe(res); 
     } 
    }); 

}); 

ответ

1

решаемые,

router.get('/upload/:image',function(req, res){ 

    try{ 
     var readstream = gfs.createReadStream({ filename: req.params.image}); 
     res.set('Content-Type', 'image/jpeg'); 
     readstream.pipe(res); 

    } 
    catch (err) { 
     log.error(err); 
     return next(errors.create(404, "File not found.")); 
    } 


}); 

HTML:

<img src="/usr-rest/users/upload/here_goes_id">