-1

在请求下载图像后,我正在尝试将图像存储在 mongo 中

这是我的代码,它导致损坏的图像存储在数据库中。

request('http://test.jpg', function (error, response, image) {

    db.images.insert(

        {
            file_name: 'test.jpg',
            image: new Buffer(image)
        },

        function(err){

           //mongojs callback

        }
    );
});

请注意,我正在使用mongojs模块并将图像作为 BinData 类型存储在常规文档中。

此外,如果我将图像写入文件,读取它然后将图像保存到数据库中,那么就没有损坏。但我不想这样做,因为我打算完全避免使用文件系统。

我很高兴这与编码或缓冲区有关,但我对这些了解不够,无法解决我的问题。

4

1 回答 1

0

如果您不想使用像 gridfs 这样的正确图像存储解决方案,您可以对图像进行 base64 编码。

如何在 JavaScript 中将字符串编码为 Base64?

这为您提供了一个可以存储在 mongo 中的字符串。

于 2012-09-21T23:07:55.883 回答