Parempi virheenkäsittely uploadissa: näytä palvelimen tarkka vastaus

- upload.php: ob_start()+error_reporting(0) estää PHP-varoitusten
  sekoittumisen JSON-vastaukseen; ob_clean() ennen jokaista echoa
- script.js + admin.html: lue vastaus ensin tekstinä, yritä sitten
  JSON-parsinta ja näytä tarkka virheviesti (HTTP-koodi + raakavastaus)
  jos JSON ei onnistu

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-08 01:20:20 +02:00
parent a1a7a2167f
commit bb9541d526
3 changed files with 15 additions and 2 deletions

View File

@@ -498,7 +498,9 @@
formData.append('file', resized, resized.name || 'image.jpg');
try {
const res = await fetch('upload.php', { method: 'POST', body: formData });
const data = await res.json();
const text = await res.text();
let data;
try { data = JSON.parse(text); } catch(e) { throw new Error('Palvelin vastasi (HTTP ' + res.status + '): ' + (text.slice(0, 200) || '(tyhjä)')); }
if (data.error) throw new Error(data.error);
document.getElementById(hiddenId).value = data.url;
const prev = document.getElementById(previewId);