使用Javascript,我对WCF服务进行了一次AJAX调用,它返回一个字节数组。如何将其转换为图像并将其显示在网页上?
发布于 2010-12-31 00:05:47
使用Javascript构建一个图像元素并将其直接指向服务,而不是使用AJAX调用服务。
var img = document.createElement("IMG");
img.src = "http://url/to/service";
img.alt = "ALT TEXT";
document.body.appendChild(img);
只需确保服务正确设置内容类型即可。
发布于 2015-02-13 19:30:25
以下是使用数据URI方案解码PNG、JPEG和GIF图像字节的JavaScript源代码:
Images.decodeArrayBuffer = function(buffer, onLoad) {
var mime;
var a = new Uint8Array(buffer);
var nb = a.length;
if (nb < 4)
return null;
var b0 = a[0];
var b1 = a[1];
var b2 = a[2];
var b3 = a[3];
if (b0 == 0x89 && b1 == 0x50 && b2 == 0x4E && b3 == 0x47)
mime = 'image/png';
else if (b0 == 0xff && b1 == 0xd8)
mime = 'image/jpeg';
else if (b0 == 0x47 && b1 == 0x49 && b2 == 0x46)
mime = 'image/gif';
else
return null;
var binary = "";
for (var i = 0; i < nb; i++)
binary += String.fromCharCode(a[i]);
var base64 = window.btoa(binary);
var image = new Image();
image.onload = onLoad;
image.src = 'data:' + mime + ';base64,' + base64;
return image;
}
发布于 2019-07-31 19:33:05
在聚会上迟到了,但如果你的回答看起来像
[137,80,78,71,13,10,26,10,0,...]
您可以使用以下命令:
<img id="image" src="" />
var imgsrc = "data:image/png;base64," + btoa(String.fromCharCode.apply(null, new Uint8Array([137,80,78,71,13,10,26,10,0,...])));
document.getElementById('image').src = imgsrc;
https://stackoverflow.com/questions/4564119
复制相似问题