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 = '';
}