Javascript 是否可以打开<;img>;在网页上使用FileReader访问base64?

Javascript 是否可以打开<;img>;在网页上使用FileReader访问base64?,javascript,google-chrome,google-chrome-extension,filereader,Javascript,Google Chrome,Google Chrome Extension,Filereader,我已经有了 var img=newimage(); img.src=src url 如何将其传递给文件阅读器? PS:我不使用canvas获取base64,因为canvas同样支持gif格式。一个使用最新版本的示例,它与旧浏览器不兼容 var xhr = new XMLHttpRequest(); xhr.open('GET', 'http://www.gravatar.com/avatar/40ca36f062050220082cd8c46b377ab4?s=32&d=identico

我已经有了
var img=newimage();
img.src=src url
如何将其传递给文件阅读器?
PS:我不使用canvas获取base64,因为canvas同样支持gif格式。

一个使用最新版本的示例,它与旧浏览器不兼容

var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://www.gravatar.com/avatar/40ca36f062050220082cd8c46b377ab4?s=32&d=identicon&r=PG', true);
xhr.responseType = 'blob';

xhr.onload = function(e) {
  var blob = new Blob([this.response], {type: 'image/png'});
  var reader = new FileReader();
  reader.onload = function() {
    console.log(reader.result)
  };
  reader.readAsDataURL(blob);
};

xhr.send();

远程图像。可能吗?检查“远程图像。可能吗”。不可以。如果映像位于同一个域上,或者另一个域配置为支持CORS,则必须使用服务器端代理。@dfsq。是的,这可以通过使用最新的API实现。是的,你说得对。对于chrome扩展,它只允许CORS。谢谢你的帮助。@Tom只需向清单文件添加正确的权限,chrome将很乐意为你提出跨源请求<代码>“权限”:[“http://www.gravatar.com/avatar/*“]
例如。