From aed0d8ed6865a3e966fa866af4b99f5d4b4d33eb Mon Sep 17 00:00:00 2001 From: RblSb Date: Sun, 2 Mar 2025 10:09:26 +0300 Subject: Improve upload filename encoding --- src/client/Buttons.hx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/client/Buttons.hx') diff --git a/src/client/Buttons.hx b/src/client/Buttons.hx index 513133a..11b8f7c 100644 --- a/src/client/Buttons.hx +++ b/src/client/Buttons.hx @@ -248,7 +248,10 @@ class Buttons { getEl("#mediaurl-upload").onclick = e -> { Utils.browseFile((buffer, name) -> { - if (name == null || name.length == 0) name = "video"; + name ??= ""; + name = ~/[?#%\/\\]/g.replace(name, "").trim(); + if (name.length == 0) name = "video"; + name = (window : Dynamic).encodeURIComponent(name); // send last chunk separately to allow server file streaming while uploading final chunkSize = 1024 * 1024 * 5; // 5 MB @@ -258,7 +261,6 @@ class Buttons { method: "POST", headers: { "content-name": name, - "client-name": main.getName(), }, body: lastChunk, }); @@ -276,7 +278,6 @@ class Buttons { final request = new XMLHttpRequest(); request.open("POST", "/upload", true); request.setRequestHeader("content-name", name); - request.setRequestHeader("client-name", main.getName()); request.upload.onprogress = (event:ProgressEvent) -> { var ratio = 0.0; -- cgit v1.2.3