最近写了一个验证码识别,需要AJAX请求验证码,然后一份发给服务器,一份显示在页面,所以我需要将请求到的二进制图片直接显示在img中
查了很多资料,发现HTML5的blob对象配合createObjectURL就可以实现
var xhr = new XMLHttpRequest(); xhr.open("get", "../verify_img", true); xhr.responseType = "blob"; xhr.onload = function() { if (this.status == 200) { var blob = this.response; var img = document.createElement("img"); img.onload = function(e) { window.URL.revokeObjectURL(img.src); // 当图片加载完成后清除释放 }; img.src = window.URL.createObjectURL(blob); $(".container").before(img);// 这里也可以使用dom } } xhr.send();
按照同样的思路,我还尝试使用jQuery实现AJAX,但是blob对象始终报错,换用file依旧无法解决
如果有大神知道怎么解决,欢迎留言告诉我