The following is really similar to Hoang Duc Nguyen's Answer
The dropEffect
shows the red crossed Cursor on Hover.
ngOnInit(): void {
window.addEventListener("dragover", e => {
e && e.preventDefault();
e.dataTransfer.effectAllowed = "none";
e.dataTransfer.dropEffect = "none";
}, false);
window.addEventListener("drop", e => {
e && e.preventDefault();
e.dataTransfer.effectAllowed = "none";
e.dataTransfer.dropEffect = "none";
}, false);
}
Within the Component use the following.
If you want to differenciate between Files dropped from the User or Drop Events within the Page you could check the types.
@HostListener("dragover", ["$event"])
onDragOver(ev: DragEvent) {
if (ev.dataTransfer.types.includes("Files"))
return;
ev.preventDefault();
ev.stopPropagation();
...
}