From 2044de6cf64c01bbe9f7d29626473d122707f7b1 Mon Sep 17 00:00:00 2001 From: ed Date: Fri, 28 Jun 2019 15:25:34 +0000 Subject: [PATCH] prefer DataTransferItemList --- copyparty/web/up2k.js | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/copyparty/web/up2k.js b/copyparty/web/up2k.js index 218414c6..d96280cb 100644 --- a/copyparty/web/up2k.js +++ b/copyparty/web/up2k.js @@ -189,8 +189,16 @@ function o(id) { ev.stopPropagation(); ev.preventDefault(); - var files = ev.dataTransfer ? - ev.dataTransfer.files : ev.target.files; + var files; + var is_itemlist = false; + if (ev.dataTransfer) { + if (ev.dataTransfer.items) { + files = ev.dataTransfer.items; // DataTransferItemList + is_itemlist = true; + } + else files = ev.dataTransfer.files; // FileList + } + else files = ev.target.files; if (files.length == 0) return alert('no files selected??'); @@ -198,6 +206,12 @@ function o(id) { more_one_file(); for (var a = 0; a < files.length; a++) { var fobj = files[a]; + if (is_itemlist) { + if (fobj.kind !== 'file') + continue; + + fobj = fobj.getAsFile(); + } var entry = { "n": parseInt(st.files.length.toString()), "t0": new Date().getTime(), // TODO remove probably