如何在前端替换 Buffer.from(data, 'base64')?

How to replace in frontend Buffer.from(data, 'base64')?

提问人:John Dow 提问时间:11/18/2023 最后编辑:John Dow 更新时间:11/18/2023 访问量:24

问:

为了将二进制字符串转换为图像,我在 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,
浏览器 前端 base64

评论


答:

0赞 John Dow 11/18/2023 #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
}