gpt4 book ai didi

node.js - 从 mongodb 检索图像数据并在浏览器上显示

转载 作者:太空宇宙 更新时间:2023-11-04 01:52:46 25 4
gpt4 key购买 nike

{ _id: 5a97c9a9b5a49f188c222399,
size: 44706,
image:
Binary {
_bsontype: 'Binary',
sub_type: 0,
position: 44706,
buffer: <Buffer 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 06 40 00 00 03 b4 08 02 00 00 00 72 55 6d 58 00 00 ae 69 49 44 41 54
78 da ec dd 07 78 56 e5 dd ... > },
mimetype: 'image/png',
encoding: '7bit',
image_name: 'nodejs-frameworks.png' }

这是我在图像集中的数据。我发现很难将这些数据转换成图像。我尝试将图像数据转换为 Base64 数据,但没有成功。这是我的代码。

getImage: function (req, res) {
let id = req.params.id;
db.image.getImage(id, function (item) {
console.log(item);
res.contentType(item[0].mimetype);

res.send(item[0].image.buffer.toString('base64'));
});
}

getImage 函数调用另一个文件中的 getImage 函数来检索上述 JSON 数据。我搜索并浏览了不同的解决方案,但无法理解它们。请帮我。谢谢。

最佳答案

我无法正确解释这一点,但下面的代码有效。我能想到的一个原因是 res.send 可能没有发送正确的 header 类型,这就是 res.write 起作用的原因(我不确定,只是一个假设)。

getImage: function (req, res) {
let id = req.params.id;
db.image.getImage(id, function (item) {
res.writeHead(200, {
'Content-Type': item[0].mimetype
});
res.write(item[0].image.buffer);
res.end();
});
}

关于node.js - 从 mongodb 检索图像数据并在浏览器上显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49047343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com