【问题标题】:How to display returned data ASCII as image?如何将返回的数据 ASCII 显示为图像?
【发布时间】:2020-05-10 04:12:31
【问题描述】:

有人知道这是什么吗?

base64/二进制/十六进制??

这是一个图像数据,但我不知道如何显示它。

省略此字符串,因为它是手动添加的:data:image/png; base64,

【问题讨论】:

  • 试试 src="data:image/png;base64,"
  • 也试过了,但没用。
  • 这不是数据 URI。这些是图像的原始字节(解释为 ascii)
  • @Andreas,我明白了,所以数据 URI 类似于 Uthistran 提到的 data: image/png; base64,....,对吧?那么我应该如何在 html 中将 ascii 显示为图像呢?

标签: javascript html image uri


【解决方案1】:

尝试使用 JavaScript 的图像对象。像这样:

let base64Img = new Image();
base64Img.src = "data:image/png;base64,*rest of data here*...";

然后你可以像这样将该图像对象放入你的 HTML 中:

document.querySelector(*yourCSSselector*).appendChild(base64Img);

编辑:你说它不起作用,所以我进一步研究了它。

我对这张图片进行了编码:https://i.picsum.photos/id/78/536/354.jpg

使用https://www.base64-image.de/的工具

然后我制作了一个 codepen 以在一个简单的 HTML 文件中显示该图像:https://codepen.io/seancowan-dev/pen/jOEdJvy?editors=1011

new Image(); 如果您向其传递格式正确的数据 URI,它应该可以工作。因此,让我们看一下您的 URI 中的内容,以确保其格式正确为 base64。

您能否截取console.log(base64Img) 以便我们查看其中的内容?

【讨论】:

  • 你能告诉我们你给它的来源吗?
  • 我从 API 收到此响应,所以我不确定,但它看起来像是二进制数据。
  • @hemantmetal 你有任何关于 API 的文档的链接吗?也许我们可以通过这种方式找到答案。一旦我们弄清楚如何正确处理 API 响应,您应该很容易在页面上获取图像。
  • 您能否就此直接联系 SAP 支持?我进行了快速搜索,就在一周前,另一位用户遇到了类似的问题,即获得了奇怪的编码图像响应。 stackoverflow.com/questions/59794929/… 在那里查看他的帖子。我怀疑您的代码可能没有直接问题,但您得到的响应是以 SAP 未在文档中指定的方式编码的。
猜你喜欢
  • 2016-01-24
  • 2015-06-02
  • 1970-01-01
  • 2014-12-07
  • 1970-01-01
  • 2018-04-17
  • 1970-01-01
  • 2012-12-13
  • 1970-01-01
相关资源
最近更新 更多