MongoDB Gridfs NODE 显示图片

Posted

技术标签:

【中文标题】MongoDB Gridfs NODE 显示图片【英文标题】:MongoDB Gridfs NODE display image 【发布时间】:2015-07-16 11:02:43 【问题描述】:

我正在使用 GridFS 在 MongoDB 中存储来自 Angular 应用程序的图像。从数据库获取图像时出现问题。我只能在 iexplorer 和 postman 中显示图像。在 chrome、firefox 中,它看起来像损坏的图像。 有没有办法直接从数据库中以角度显示图像?我正在使用快递。并尝试插入这样的图像:<img src="upload/55a75dbb749062041b4c84ba"/>

我的路由器

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

【讨论】:

以上是关于MongoDB Gridfs NODE 显示图片的主要内容,如果未能解决你的问题,请参考以下文章

nginx+gridfs+mongodb 配置访问png图片显示无法加载问题

Node.js 文件上传(Express 4、MongoDB、GridFS、GridFS-Stream)

python利用mongodb上传图片数据 : GridFS 与 bson两种方式

MongoDb gridfs-ngnix文件存储方案 - 图片

MongoDB GridFS

MongoDB GridFS