From a1a7a2167f32424094c684a66b64bb9804e94133 Mon Sep 17 00:00:00 2001 From: Jukka Lampikoski Date: Sun, 8 Mar 2026 01:15:51 +0200 Subject: [PATCH] =?UTF-8?q?N=C3=A4yt=C3=A4=20tarkka=20virheviesti=20upload?= =?UTF-8?q?issa?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin.html | 8 +++++--- script.js | 8 +++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/admin.html b/admin.html index ed403b3..de82c2d 100644 --- a/admin.html +++ b/admin.html @@ -491,20 +491,22 @@ const lbl = document.getElementById(labelId); lbl.style.opacity = '0.5'; - const resized = await resizeImage(file); + let resized; + try { resized = await resizeImage(file); } catch (e) { lbl.style.opacity = ''; showToast('⚠️ Kuvan käsittely epäonnistui: ' + e.message); return; } + const formData = new FormData(); formData.append('file', resized, resized.name || 'image.jpg'); try { const res = await fetch('upload.php', { method: 'POST', body: formData }); - if (!res.ok) throw new Error(await res.text()); const data = await res.json(); + if (data.error) throw new Error(data.error); document.getElementById(hiddenId).value = data.url; const prev = document.getElementById(previewId); prev.src = data.url; prev.style.display = 'block'; lbl.classList.add('has-image'); } catch (e) { - showToast('⚠️ Kuvan lataus epäonnistui. Tuetut muodot: JPG, PNG, GIF, WebP (max 20 MB).'); + showToast('⚠️ ' + e.message); } finally { lbl.style.opacity = ''; } diff --git a/script.js b/script.js index fcfe8c1..e0353fb 100644 --- a/script.js +++ b/script.js @@ -427,20 +427,22 @@ async function uploadImg(input, hiddenId, previewId, labelId) { const lbl = document.getElementById(labelId); lbl.style.opacity = '0.5'; - const resized = await resizeImage(file); + let resized; + try { resized = await resizeImage(file); } catch (e) { lbl.style.opacity = ''; alert('Kuvan käsittely epäonnistui: ' + e.message); return; } + const formData = new FormData(); formData.append('file', resized, resized.name || 'image.jpg'); try { const res = await fetch('upload.php', { method: 'POST', body: formData }); - if (!res.ok) throw new Error(await res.text()); const data = await res.json(); + if (data.error) throw new Error(data.error); document.getElementById(hiddenId).value = data.url; const prev = document.getElementById(previewId); prev.src = data.url; prev.style.display = 'block'; lbl.classList.add('has-image'); } catch (e) { - alert('Kuvan lataus epäonnistui. Tuetut muodot: JPG, PNG, GIF, WebP (max 20 MB).'); + alert('Kuvan lataus epäonnistui: ' + e.message); } finally { lbl.style.opacity = ''; }