file upload with paste image/screenshot from clipboard
This commit is contained in:
parent
60d1e2d291
commit
54de4a3c78
@ -45,7 +45,14 @@ export function scanFiles(dt) {
|
|||||||
typeof item.webkitGetAsEntry === "function"
|
typeof item.webkitGetAsEntry === "function"
|
||||||
) {
|
) {
|
||||||
const entry = item.webkitGetAsEntry();
|
const entry = item.webkitGetAsEntry();
|
||||||
readEntry(entry);
|
if (entry) {
|
||||||
|
// for "drop" event
|
||||||
|
readEntry(entry);
|
||||||
|
} else {
|
||||||
|
// for "paste" event
|
||||||
|
resolve(dt.files);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -423,6 +423,7 @@ export default {
|
|||||||
document.addEventListener("dragenter", this.dragEnter);
|
document.addEventListener("dragenter", this.dragEnter);
|
||||||
document.addEventListener("dragleave", this.dragLeave);
|
document.addEventListener("dragleave", this.dragLeave);
|
||||||
document.addEventListener("drop", this.drop);
|
document.addEventListener("drop", this.drop);
|
||||||
|
document.addEventListener("paste", this.drop);
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
// Remove event listeners before destroying this page.
|
// Remove event listeners before destroying this page.
|
||||||
@ -435,6 +436,7 @@ export default {
|
|||||||
document.removeEventListener("dragenter", this.dragEnter);
|
document.removeEventListener("dragenter", this.dragEnter);
|
||||||
document.removeEventListener("dragleave", this.dragLeave);
|
document.removeEventListener("dragleave", this.dragLeave);
|
||||||
document.removeEventListener("drop", this.drop);
|
document.removeEventListener("drop", this.drop);
|
||||||
|
document.removeEventListener("paste", this.drop);
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapMutations(["updateUser", "addSelected"]),
|
...mapMutations(["updateUser", "addSelected"]),
|
||||||
@ -657,7 +659,7 @@ export default {
|
|||||||
this.dragCounter = 0;
|
this.dragCounter = 0;
|
||||||
this.resetOpacity();
|
this.resetOpacity();
|
||||||
|
|
||||||
let dt = event.dataTransfer;
|
let dt = event.dataTransfer ?? event.clipboardData;
|
||||||
let el = event.target;
|
let el = event.target;
|
||||||
|
|
||||||
if (dt.files.length <= 0) return;
|
if (dt.files.length <= 0) return;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user