为了将二进制字符串转换为图像,我使用 Node JS 中的 Buffer.from(data, 'base64') 构造,它工作得很好。现在我尝试使用这个将类似的字符串传递给浏览器
<img src="data:image/jpeg;base64,${data}" />
但它不起作用。在 API 中,${data} 如下所示:
"thumbnailPhoto":{"type":"Buffer","data":[255,216,255,225,12,239,69,120,105,102,0,0,73,73,42,0,8,0,0,0,16,0,0,1,
因为我没有找到任何聪明的东西,所以我只是改变了它并决定在后端(Node JS)进行这种格式化
const getUsersAttr = new Promise((resolve, reject) => {
const ad = new ActiveDirectory(connLDP)
ad.findUsers(fltLDP, function (err, users) {
if (err) {
reject(console.error(JSON.stringify(err.message)))
} else if (!users || users.length == 0) {
resolve('No users found')
} else {
for (let i = 0; i < users.length; i++) {
if (users[i].thumbnailPhoto) {
users[i].thumbnailPhoto = Buffer.from(users[i].thumbnailPhoto).toString('base64')
}
}
resolve(JSON.parse(JSON.stringify(users)))
}
})
})
return await getUsersAttr
}