这是有效 .JPEG 图像的二进制文件。
http://pastebin.ca/raw/2314500
我尝试使用Python将此二进制数据保存到图像中。
如何使用 extjs 4 将此数据转换为可查看的 .JPEG 图像?
我试过了,但没用。
data:image/jpeg;base64,+ binary data
最佳答案
需要将其转换为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 上的十六进制数据的工作示例
关于javascript - 如何将二进制数据显示为图像 - extjs 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14915058/