小编典典

如何将二进制数据显示为图像-extjs 4

ajax

这是有效的.JPEG图像的二进制文件。
http://pastebin.ca/raw/2314500

我试图使用Python将二进制数据保存到图像中。

如何使用extjs 4将这些数据转换为可见的.JPEG图像?

我试过了,但是没有用。

data:image/jpeg;base64,+ binary data

阅读 321

收藏
2020-07-26

共1个答案

小编典典

需要将其转换为base64。

JS具有btoa()函数。

例如:

var img = document.createElement('img');
img.src = 'data:image/jpeg;base64,' + btoa('your-binary-data');
document.body.appendChild(img);

但是我认为您在pastebin中的二进制数据无效-jpeg数据必须以’ffd9’结尾。

更新:

需要编写简单的十六进制到base64转换器:

function hexToBase64(str) {
    return btoa(String.fromCharCode.apply(null, str.replace(/\r|\n/g, "").replace(/([\da-fA-F]{2}) ?/g, "0x$1 ").replace(/ +$/, "").split(" ")));
}

并使用它:

img.src = 'data:image/jpeg;base64,' + hexToBase64('your-binary-data');

jsfiddle 上查看带有十六进制数据的工作示例
****

2020-07-26