如何将缓冲区作为图像发送?

时间:2014-10-28 17:04:49

标签: angularjs node.js mongodb express buffer

我有存储在GridFS中的图像,我编写的代码将图像取回并将其转换为缓冲区但我似乎无法找到足够的文档来告诉我如何处理缓冲区为了渲染图像。我正在使用MEAN堆栈。

这是我的代码:

exports.getFax = function (req, res) {
    var MongoClient = require('mongodb').MongoClient;
    Grid = require('mongodb').Grid;
    MongoClient.connect("mongodb://localhost:27017/test", function (err, db) {
        var gs = require('mongodb').GridStore(db, '544f9c11759c7418566019b3,', "w");
        gs.open(function (err, data) {
            console.log(data);
            console.log(data.length);
            gs.read([data.length], function (err, data) {
                console.log(data);
                console.log(err);
                if (!err)

                    res.send(data);
            })


        });
    });
};

Console.log(数据)读取<Buffer 00>我不太清楚如何继续,因为我仍然相对较新的GridFS和使用缓冲区而不是文件系统中的图像。非常感谢任何帮助,并提前感谢您。

1 个答案:

答案 0 :(得分:2)

不要使用read。请改为使用streamhttp://mongodb.github.io/node-mongodb-native/api-generated/gridstore.html#stream

我不知道这段代码是否有效...只是查看文档,但尝试这样的事情:

gs.stream(true).pipe(res);