1.后台查询数据库得到byte数组传送给前端,前台解析成图片在网页上展示。
-
`function query_picture() {
var macid = "119K007736"; $.ajax({ type: "POST", url: "/CheckBmp/query_picture", data: { "macid": macid }, success: function (p1) { alert("hi"); var str = arrayBufferToBase64(p1); alert(str); var outputimg = document.createElement('img'); outputimg.src = 'data:image/png;base64,' + str; $("#left_pic").html(outputimg); } }) } 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); //return binary; }
</script>`
3.前台获取到的图片是这个鬼样子的
4.经过调试我发现,后台查询数组长度为5039926.而传输到前台js中的数组长度是13,值为System.byte[]
5.不理解为什么传输到前端数组值会变了呢?