【问题标题】:How to convert binary image data to URI for same image in nodejs?如何将二进制图像数据转换为nodejs中相同图像的URI?
【发布时间】:2019-04-15 20:18:43
【问题描述】:

我正在使用一个 API 来获取用户的个人资料照片。这个 api 为我获取个人资料照片的二进制数据。

我需要能够以https://en.wikipedia.org/wiki/Data_URI_scheme 的形式使用此个人资料照片

示例:- 将呈现图像的 json,其中 url 的值应为 URI。

{
    "type": "AdaptiveCard",
    "version": "1.0",
    "body": [
        {
            "type": "Image",
            "url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAABfUlEQVRIS72UPU/DMBRF+69hYaJIbBUjfwFRkFCLKFH4iBQWOpeJbMBG5kzGJ+pLbOeFhKbhSkdW/O57t07dTowx/4K6OQaNjfXry9rK7IHInRuGaA011EM0n4PMrkLSNF1bzAhchEGaaTCceuegz68Pdb+NnYI2mzcay1WrazDfC0qSp06KoqCxXLW6BvOrIM0QIqcR8az5Qqz6BXFNGSqnEfHMPnWtT7Dyg57jRxPHcbnyhYeDu4SfPmYIDwm/WydICqvovlwJzvMcU2/hp09mCVbNoOhuVRn+EoaPHj6oILOs6iC36JoxdoVpIS5WfpCEhGHhbQtF3fW7MMuqeSKNLMswt4q61idY1UHL5cK0Eb467VnrE6z6Bck15+pyQdhj5RlRD3tcrLqDeMfyJ6rV2aeOT6uDF3Rze2WuF/uHuV6QZtoXXpBNPmeTT/Ab7itpq7NKyOV8fuAFAVdxWxzMds67zPaCYHY2O52eTM1Avo+OD8uTCF7IeJjJD3xajPLilAzRAAAAAElFTkSuQmCC",
            "style": "person"
        }
   ]
}

如何将二进制图像数据转换为 nodejs 中相同图像的 URI?所以我可以把它作为 URI 的值

【问题讨论】:

标签: javascript node.js uri adaptive-cards adaptive-ui


【解决方案1】:

您需要使用btoa()

const imagData = 'data:image/png;base64,' + btoa('your-binary-data');

“btoa-atob”模块不导出编程接口,它只提供命令行实用程序。

如果您需要转换为 Base64,您可以使用 Buffer

Buffer.from('your-binary-data').toString('base64')

【讨论】:

  • btoa() 未在 nodejs 中定义。我认为它适用于普通的 javascript。
  • 是的,为此您需要使用 Buffer。
  • 我使用以下代码使用缓冲区获取 URI。 Body = 从 REST API 接收的原始图像字节。 var buf = Buffer.from(body); var base64Data = buf.toString('base64') const imageURI = 'data:image/png;base64,' + base64Data;然后我使用在线转换器来测试我的 URI 并且它没有转换为图像。我猜这个base64是不正确的。我使用了另一个在线转换器,它使用直接图像上传提供 base64 并且有效。 site24x7.com/tools/datauri-to-image.html 有什么想法吗?
  • 您使用的是哪个版本的节点?如果有效,您可以测试原始二进制文件吗?
  • 嗨,Narendra,我在节点 v10.10.0 上,我正在使用以下 API 来获取二进制文件。我确认它使用了 REST 客户端 Postman,它确实给了我图像。在 nodejs 应用程序中,它显示了我将其传递给 Buffer 的原始字节。 developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-05-26
  • 1970-01-01
  • 2012-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-26
相关资源
最近更新 更多