ajax请求图片,二进制形式显示图片有问题

我想通过ajax请求图片

vm.ajaxGet('/img/logo.png', function(data) {    //这里data,就是图片本身的文件流,测试ajax没有问题
    var img = document.createElement("img");
    img.onload = function(e) {        window.URL.revokeObjectURL(img.src); // 清除释放
    };
    img.src = window.URL.createObjectURL(new Blob([data], { type: "image/png" }));    document.body.appendChild(img);
});

无法显示图片,请教大神哪里出了问题呢

已解决:

var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = "blob";//关键的一步xhr.onreadystatechange = function() {    if (xhr.readyState == 4) {        if (xhr.status == 200) {            var blod = this.response;            var src = URL.createObjectURL(blod);
        }
    }
};
xhr.send();


HUX布斯
浏览 655回答 2
2回答

不负相思意

1.确认一下你的文件流是二进制的流还是base64的流2. window.URL.revokeObjectURL(img.src)是不是因为这行代码影响了,注释掉看看
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript