gpt4 book ai didi

javascript - Node.js:将 base64 编码的图像响应为 JSON

转载 作者:行者123 更新时间:2023-12-03 05:36:53 30 4
gpt4 key购买 nike

我的数据库中有 base64 格式的所有图片以及额外数据(创建、喜欢、所有者等)。

我想实现一个/pictures GET,它返回带有图片数据的JSON,例如:

图片数据

[{
"creation": 1479567470124,
"data": "data:image/jpg;base64,R0lGODlhPQ...",
"ownerId": "cbd4dd05-193c-4e93-8e76-cae055adb046",
"likes": 23
},
{
"creation": 1479566234367,
"data": "data:image/jpg;base64,A0dFSfdsf34SD...",
"ownerId": "24170e4d-246f-4c77-b493-a56bde870169",
"likes": 4
}]

API路由

app.get('/pictures', (req, res) => {
const { last, limit } = req.query;

db.getPictures(last, limit)
.then(pictures => res.status(201).jsonp(pictures))
.catch(err => res.status(500).send(err));
});

问题

问题在于数据字段(包含base64编码图像的字段)是如此巨大。并且不可能将巨大的 json 发送到响应中。

我的问题是怎么做...有什么办法吗?也许在流中?怎么办?

任何建议都会很棒😊

注意:图像应以 base64 编码保存到数据库中(公司要求)

非常感谢!

最佳答案

是的,您可以使用流。

此示例使用文件,但很容易使其与其他内容一起使用。

https://www.sitepoint.com/introduction-to-streams/

<小时/>

编辑

不,您不能使用application/json,您的响应类型应该是arraybuffer。然后,因为您知道数据如何,所以使用 json 解析器解析响应...

在我看来,满足您需要的最佳方法是拆分响应

构建两个不同的 API,第一个是纯 json api,返回图片的所有元数据,第二个以流形式返回图像。工作的最后一部分属于需要合并两个响应的客户端。

关于javascript - Node.js:将 base64 编码的图像响应为 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40694301/

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