0

我正在尝试使用此处显示的技术:http: //joelb.me/blog/2011/code-snippet-accessing-clipboard-images-with-javascript/来捕获用户粘贴到网页上的图像。这与 Chrome 和 Firefox 兼容。

一切正常。图像数据应该存储在pastedImage.src. 我能够在页面上显示图像(进入 img 元素,或在画布上绘制)。

但是,pastedImage.src在 Chrome 和 Firefox 中存储的内容有所不同。Firefox 将实际图像存储在 base64 编码的数据 URL 中,我可以对其进行解析和上传;Chrome 以 http://[domain]/[string] 的形式存储了一个指向图像的临时 URL。请在此处查看:http: //test.vapenerd.com/paste.html

我真的不知道如何从中获取实际的图像数据 - 我尝试了FileReader()它,但它似乎不起作用。

现在我的解决方法是将图像绘制到画布中,然后使用toDataURL()返回 base64 编码数据 URL 的方法获取它。

对不起,我不是网络开发人员,希望这不会太混乱。

谢谢。

4

1 回答 1

4

只需将其读取为数据 uri

var reader = new FileReader();
reader.onload = function(event){
    createImage(event.target.result);
}; // data url!
reader.readAsDataURL(blob);

演示

于 2013-01-28T20:49:25.157 回答