使用nodejs渲染图像

时间:2012-08-03 22:57:16

标签: javascript node.js mongodb

我使用BinData类型在mongodb中存储图像。

我可以使用mongojs查询数据库。

db.images.findOne({

                   file_name: 'temp.jpg',
                  },

              function(err, data){

                console.log(data.image); // image buffer appears on the console
                res.writeHead(200, {'Content-Type': 'image/jpg'});
                res.end(data.image);

           });

这会产生“TypeError:第一个参数必须是字符串或缓冲区”。

我很确定这与缓冲区或编码有关。 有些人可以在发送到浏览器之前解释一下我应该对图像数据做些什么吗?

1 个答案:

答案 0 :(得分:0)

  • 设置正确的内容类型
  • 设置正确的内容长度

简短示例我如何从mongodb gridfs提供我的文件

.getFileFromGridFs(doc,function(err, buffer){
  if(err) return next(err)
  res.setHeader('content-type',doc.mimeType)
  res.setHeader('content-length',doc.size)
  buffer.pipe(res)
})