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