callibration fix 1
This commit is contained in:
@@ -451,6 +451,13 @@
|
||||
}
|
||||
});
|
||||
|
||||
// Hilfsfunktion: fetch-Response sicher als Text lesen und in lesbaren Fehler umwandeln
|
||||
async function safeJson(r) {
|
||||
const raw = await r.text().catch(() => '');
|
||||
try { return { ok: r.ok, status: r.status, data: JSON.parse(raw) }; }
|
||||
catch { return { ok: r.ok, status: r.status, data: null, raw: raw.slice(0, 300) }; }
|
||||
}
|
||||
|
||||
// "NPZ speichern" → an Webcam-Service übertragen
|
||||
document.getElementById('btn-upload-npz').addEventListener('click', async () => {
|
||||
const camera = document.getElementById('cam-select-calib').value;
|
||||
@@ -458,15 +465,17 @@
|
||||
|
||||
logC(`NPZ wird an Webcam-Service übertragen (${camera}) …`);
|
||||
try {
|
||||
const r = await fetch('/api/calibration/upload-npz', {
|
||||
const { ok, status, data, raw } = await safeJson(await fetch('/api/calibration/upload-npz', {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify({ camera }),
|
||||
});
|
||||
const d = await r.json();
|
||||
if (d.error) { logC(`❌ Fehler: ${d.error}`); return; }
|
||||
logC(`✅ Gespeichert: ${d.webcam?.saved} (${d.size} Bytes)`);
|
||||
logC(` calibrationUrl: ${d.webcam?.calibrationUrl}`);
|
||||
}));
|
||||
if (!ok || data?.error) {
|
||||
logC(`❌ HTTP ${status}: ${data?.error ?? raw ?? '(kein Fehlertext)'}`);
|
||||
return;
|
||||
}
|
||||
logC(`✅ Gespeichert: ${data.webcam?.saved} (${data.size} Bytes)`);
|
||||
logC(` calibrationUrl: ${data.webcam?.calibrationUrl}`);
|
||||
} catch (err) {
|
||||
logC(`❌ Fehler: ${err}`);
|
||||
}
|
||||
@@ -489,8 +498,11 @@
|
||||
});
|
||||
|
||||
if (!response.ok) {
|
||||
const err = await response.json().catch(() => ({ error: response.statusText }));
|
||||
logC(`Fehler: ${err.error}`);
|
||||
const raw = await response.text().catch(() => '');
|
||||
let msg;
|
||||
try { msg = JSON.parse(raw).error || raw; }
|
||||
catch { msg = raw.slice(0, 300) || response.statusText; }
|
||||
logC(`❌ HTTP ${response.status}: ${msg || '(kein Fehlertext – evtl. Server neu starten?)'}`);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user