[英]Node.js: Responding base64 encoded images into a JSON
我的數據庫中有base64中的所有圖片,以及額外的數據(創建,喜歡,所有者等)。
我想實現一個/pictures GET
,該/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,第一個API是純json api,返回圖片的所有元數據,第二個API將圖像作為流返回。 作業的最后一部分屬於需要合並兩個響應的客戶端。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.