js byte数组转图片

  
 function query_picture() {
var macid = "119K007736";
$.ajax({
type: "POST",
url: "/CheckBmp/query_picture",
data: { "macid": macid },
success: function (data) {
alert("成功了")
var str = arrayBufferToBase64(data);
alert(str);
var outputimg = document.createElement('img');
outputimg.src = 'data:image/png;base64,' + str;
document.body.appendChild(outputimg);
alert(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;
}

图片在左上角显示不出
后台查询数据库返回的是byte数组,前端解析成图片展示在网页上,但是图片一直展示不出

经过测试我又发现了一些问题,就是我后台的数据和传送到前台的数据不一致,后台数组的长度是5039926,而传输到前端数组长度仅只有13,而且前端返回的data就是System.byte[]。为什么会这样呢?表示很不解

如果我直接在js中定义数组并使用就可以正常显示图片

评论 (0)链接2019-04-28 
德问是一个专业的编程问答社区,请 登录注册 后再提交答案