从图像中获取urldata作为blob

时间:2011-08-02 11:57:43

标签: javascript html html5

所以这就是我想要做的事情:

我有一个图像blob,我需要转换为图像数据网址。

所以这是我的问题:

<script> 
 document.body.onpaste = function(e) {
var items = e.clipboardData.items;
for (var i = 0; i < items.length; ++i) {
  if (items[i].kind == 'file' && items[i].type == 'image/png') {
    var blob = items[i].getAsFile();
    var reader = new FileReader();
    document.write(reader.readAsDataURL(blob));
  }
}
 };
</script>

这会返回'undefined'。

所以我的问题是

如何从该文件中获取数据网址。 我从javascript获得的知识非常有限,并且关于html5的东西没有太多可用。

非常感谢任何和所有帮助。

2 个答案:

答案 0 :(得分:2)

自己想出来,似乎我得到未定义的原因是因为当你调用reader.readAsDataURL(blob)时没有加载图像。我用以下方法解决了这个问题:

reader.onload = function (event) {
  document.write(event.target.result);
};

答案 1 :(得分:0)

您只需要对数据进行Base64编码并将其显示如下:

<img src="data:image/png;base64,[encoded data]">

http://en.wikipedia.org/wiki/Data_URI_scheme#HTML