From 4d5a366f00de906b8ff5b124f7f7b6e771fee155 Mon Sep 17 00:00:00 2001 From: fuzzytent Date: Wed, 7 Sep 2022 21:58:11 +0200 Subject: [PATCH] Allow copy-pasting images into file inputs --- script.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/script.js b/script.js index 51ace27f..f2cd8877 100644 --- a/script.js +++ b/script.js @@ -172,3 +172,19 @@ function submit(){ } return res } + +window.addEventListener('paste', e => { + const files = e.clipboardData.files; + if (!files || files.length !== 1) { + return; + } + if (!['image/png', 'image/gif', 'image/jpeg'].includes(files[0].type)) { + return; + } + [...gradioApp().querySelectorAll('input[type=file][accept="image/x-png,image/gif,image/jpeg"]')] + .filter(input => !input.matches('.\\!hidden input[type=file]')) + .forEach(input => { + input.files = files; + input.dispatchEvent(new Event('change')) + }); +});