我正在尝试使用此处显示的技术: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,该URL确实指向图像。请在此处查看:http://test.vapenerd.com/paste.html
我无法弄清楚如何从中获取实际的图像数据 - 我尝试了FileReader()
,但它似乎不起作用。
现在我的解决方法是将图像绘制到画布中,然后使用返回base64编码数据URL的toDataURL()
方法获取它。
对不起,我不是网络开发者,希望这不是太混乱。
感谢。
答案 0 :(得分:4)
只需将其作为数据uri
阅读var reader = new FileReader();
reader.onload = function(event){
createImage(event.target.result);
}; // data url!
reader.readAsDataURL(blob);