Int8Array 1 8位二补码有符号整数 Uint8Array 1 8位无符号整数 Uint8ClampedArray 1 8位无符号整型固定数组(数值在0~255之间) Int16Array 2 16位二补码有符号整数 Uint16Array 2 16位无符号整数 Int32Array 4 32 位二补码有符号整数 Uint32Array 4 32 位无符号整数 Float32Array 4 32 位 IEEE 浮点数 Float64Array 8 64 位 IEEE 浮点数 对于图像主要就是Uint8Array 结构
图像有很多保存格式 bmp, png,jpg ,gif 等等
jpg 是一种图像的压缩格式
前端收到后存入 blob 用FileReader.readAsArrayBuffer() 读取blob到 Uint8Array Uint8Array 转字符串 binaryString (binaryString相当于 bytes ) 用btoa() 把 binaryString 转成 base64格式 加上前缀 “data:image/jpeg;base64,” 赋值给 img.src
前端收到后存入 blob 用FileReader.readAsDataURL() 读取blob 赋值给 img.src
用 createObjectURL() 读取blob 赋值给 img.src
建议使用方案2和方案3
//对应方案2 function blob2img2(blob, img) { var a = new FileReader(); a.onload = function(e) { //console.log(e.target) img.src = e.target.result; } a.readAsDataURL(blob); } function blob2img3(blob, img) { //对应方案3 var source = window[window.webkitURL ? 'webkitURL' : 'URL']['createObjectURL'](blob); img.src = source; }; ```