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。一旦有了它,您就可以直接对文件/blob 进行 base64 编码
window.btoa()
或FileReader.readAsDataURL()
.”
但是,blob
只是[object blob]
,而我需要从图像中获取二进制文件,以便我可以将其转换为 base64 并使用数据将其显示在 img 标签中。
有谁知道如何实现这一目标?
先感谢您!