解决方法
如果XMLHttpRequest的字符编码已设置为
something that won’t change the binary data,或者您已经有
set the response type,则可以通过btoa(将其放在base64中,并将其分配为数据URI)或访问.response作为二进制数据,然后运行.responseText,分别.
假设你的实例被命名为xhr,而你正在使用xhr.send之前但在xhr.open之后的charset方法
xhr.overrideMimeType("text/plain; charset=x-user-defined");
那么当你200的时候
var dataURI = 'data:image/jpeg;base64,' + btoa(xhr.responseText);
然后您可以将其设置为< img>的src.
再次假设xhr,这个时候.response方法;在.open和.send之间
xhr.responseType = "arraybuffer";
然后在200 OK
var arrayBufferView = new Uint8Array(xhr.response),// can choose 8,16 or 32 depending on how you save your images blob = new Blob([arrayBufferView],{'type': 'image\/jpeg'}),objectURL = window.URL.createObjectURL(blob);
然后您可以将其设置为< img>的src. Example