Nik*_*rov 5 javascript clipboard
我正在尝试按照这篇文章从剪贴板中的 javascript 获取图像:https : //stackoverflow.com/a/6338207/6188783
document.onpaste = function (event) {
console.log("paste triggered!");
console.log("text: " + event.clipboardData.getData("text")); // shows text if it was pasted
console.log("image: " + event.clipboardData.getData("image")); // always returns empty string p.s. I've also tried image/bmp and other formats
var items = (event.clipboardData || event.originalEvent.clipboardData).items;
console.log(JSON.stringify(items)); // will give you the mime types
for (index in items) {
var item = items[index];
if (item.kind === 'file') {
var blob = item.getAsFile();
var reader = new FileReader();
reader.onload = function(event){
console.log(event.target.result)}; // data url!
reader.readAsDataURL(blob);
}
}
}
Run Code Online (Sandbox Code Playgroud)
问题是文件的 clipboardData.items 和 clipboardData.files 始终为空。当我粘贴一些文本时,它可以在 items 数组中找到。评论中的一些人说这个答案不适用于新浏览器,但我现在无法找到如何完成它。请帮忙!
提前致谢!
更新
我发现从 ie 文件夹复制图像时没有得到处理。如果我从 ie 复制图像,它会被推入 items 数组。那么如何处理从 Windows 资源管理器复制的图像文件?