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

问题描述 投票:0回答:1

为了将二进制字符串转换为图像,我使用 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,
browser frontend base64
1个回答
0
投票

因为我没有找到任何聪明的东西,所以我只是改变了它并决定在后端(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
}

© www.soinside.com 2019 - 2024. All rights reserved.