我想通过CTRL+V接收来自ClipboardEvent in Angular6的文件。但是clipboardData总是空的(我测试了图像和文本)。我在最新的Chrome/Firefox版本上测试了它。

正如您在屏幕截图中所看到的,文件/项属性是空的。这是我目前的代码:
ngOnInit() {
document.addEventListener('paste', this.pasteEvent);
}
private pasteEvent(e): void {
console.log(e);
}发布于 2018-05-30 14:58:20
这可能是不可能的,因为安全限制和不同的浏览器支持。
要从事件中获取数据,必须在getData(format)上调用clipboardData,传递所需的MIME类型(或者只是文本的“文本”)。例如。
private pasteEvent(e): void {
console.log(e.clipboardData.getData("text/plain");
}才能收到短信。我不确定你是否能得到文件。
当前Chrome还支持新的剪贴板API
private async pasteEvent(e) {
const text = await navigator.clipboard.readText();
console.log(text);
}但是不支持泛型read()方法。
https://stackoverflow.com/questions/50606313
复制相似问题