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格式。
从阅读评论此处中得知:
"当然。在作为ArrayBuffer获取资源之后,从中创建一个blob。一旦你有了它,你可以直接使用
window.btoa()
或FileReader.readAsDataURL()
对文件/ blob进行base64编码。"
然而,blob
只是[object blob]
,而我需要获取图像的二进制数据,以便将其转换为base64格式,并使用data在img标签中显示它。
有人知道如何实现吗?
提前致谢!