var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://static.reddit.com/reddit.com.header.png', true);
xhr.responseType = 'arraybuffer';
xhr.onload = function(e) {
if (this.status == 200) {
var uInt8Array = new Uint8Array(this.response);
var byte3 = uInt8Array[4];
var bb = new WebKitBlobBuilder();
bb.append(xhr.response);
var blob = bb.getBlob('image/png');
var base64 = window.btoa(blob);
alert(base64);
}
};
xhr.send();
基本上,我在这里要做的是检索图像,并将其转换为base64。我们可以直接使用base64对文件/ blob进行编码(window.btoa()),这样就可以实现对文件/ blob的编码。 )或FileReader.readAsDataURL()。“从XHR请求获取BLOB数据
然而,blob
只是[对象BLOB],而我需要从图像获取二进制,所以我可以将其转换为Base64和使用数据的img标签显示它:
任何人都知道如何实现这个?
预先感谢您!
我觉得很奇怪,你获取的图像日期XHR ......它甚至工作交叉起源明智?您的域名在reddit的Access-Control-Allow-Origin列表中? – Rudie
这只是一个例子,实际的域名是localhost –