- 首先通过ajax或者ws获取到传来的二进制流数据
- responseType 需要设置为arraybuffer。
- 然后我们拿到所需的二进制数据, 通过console打印发现是一个ArrayBuffer,接着我们对其进行如下处理,转为base64
function arrayBufferToBase64(buffer) {
var binary = '';
var bytes = new Uint8Array(buffer);
var len = bytes.byteLength;
for (var i = 0; i < len; i++) {
binary += String.fromCharCode(bytes[i]);
}
return window.btoa(binary);
}
- 显示图片。 接着我们把收到的二进制数据通过上面的函数转为url
let url= arrayBufferToBase64(response);
然后将生成的url放到img标签的src属性中:
document.getElementById('img').src='data:image/jpeg;base64,'+url;
大功告成~