From d706a8676d0127aca8e23b2c850433540d4b051e Mon Sep 17 00:00:00 2001 From: ilotterytea Date: Sat, 26 Jul 2025 19:11:12 +0500 Subject: feat: multiple uploads --- public/index.php | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'public/index.php') diff --git a/public/index.php b/public/index.php index ddbd21a..62d0481 100644 --- a/public/index.php +++ b/public/index.php @@ -334,7 +334,7 @@ $privacy_exists = is_file($_SERVER['DOCUMENT_ROOT'] . '/static/PRIVACY.txt');

File:


@@ -505,11 +505,18 @@ $privacy_exists = is_file($_SERVER['DOCUMENT_ROOT'] . '/static/PRIVACY.txt'); const uploadedFiles = document.getElementById('uploaded-files'); + let files = []; + const formUpload = document.getElementById('form-upload'); formUpload.addEventListener('submit', (event) => { event.preventDefault(); displayTab('file-tabs', 'uploaded-files'); - uploadData(new FormData(formUpload)); + for (const file of files) { + const form = new FormData(formUpload); + form.set("file", file); + uploadData(form); + } + files.clear(); fileUploadWrapper.innerHTML = '

Click, drop, or paste files here

'; setFormDetailsVisiblity(false); @@ -535,8 +542,8 @@ $privacy_exists = is_file($_SERVER['DOCUMENT_ROOT'] . '/static/PRIVACY.txt'); const formFile = document.getElementById('form-file'); formFile.style.display = 'none'; formFile.addEventListener("change", (e) => { - file = e.target.files[0]; - showFile(file); + files = e.target.files; + showFile(files); }); fileUploadWrapper.addEventListener("click", () => formFile.click()); @@ -546,14 +553,15 @@ $privacy_exists = is_file($_SERVER['DOCUMENT_ROOT'] . '/static/PRIVACY.txt'); // --------------------- fileUploadWrapper.addEventListener("drop", (e) => { e.preventDefault(); + files.clear(); if (e.dataTransfer.items) { for (const item of e.dataTransfer.items) { if (item.kind === "file") { file = item.getAsFile(); - showFile(file); - break; + files.push(file); } } + showFile(files); } }); fileUploadWrapper.addEventListener("dragover", (e) => { @@ -562,7 +570,7 @@ $privacy_exists = is_file($_SERVER['DOCUMENT_ROOT'] . '/static/PRIVACY.txt'); fileURLWrapper.style.display = 'none'; }); fileUploadWrapper.addEventListener("dragleave", (e) => { - showFile(file); + showFile(files); }); setFormDetailsVisiblity(false); -- cgit v1.2.3