From 298f6015647ce93a3a6048d3bbd63cf7a365d1cf Mon Sep 17 00:00:00 2001 From: florianfederspiel Date: Mon, 7 Sep 2026 19:57:55 +0200 Subject: [PATCH] =?UTF-8?q?KI-AGENT:=20Datei-Anzeige=20=C3=BCber=20korrekt?= =?UTF-8?q?e=20Backend-URL=20laden?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/composables/useFiles.ts | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/frontend/composables/useFiles.ts b/frontend/composables/useFiles.ts index cd61936..7abb3dc 100644 --- a/frontend/composables/useFiles.ts +++ b/frontend/composables/useFiles.ts @@ -3,6 +3,16 @@ export const useFiles = () => { const toast = useToast() const auth = useAuthStore() + const config = useRuntimeConfig() + + const resolveFileUrl = (url?: string | null) => { + if (!url || /^(?:https?:|blob:|data:)/i.test(url)) return url + + const apiBase = String(config.public.apiBase || "").replace(/\/+$/, "") + if (!apiBase) return url + + return `${apiBase}/${url.replace(/^\/+/, "")}` + } let bucket = "filesdev" @@ -53,7 +63,7 @@ export const useFiles = () => { return (res.files || []).map((file) => ({ ...file, ...(fileDataById.get(file.id) || {}), - url: file.url + url: resolveFileUrl(file.url) })) } @@ -69,7 +79,10 @@ export const useFiles = () => { console.log(res) - return res.files + return (res.files || []).map((file) => ({ + ...file, + url: resolveFileUrl(file.url) + })) } @@ -89,7 +102,7 @@ export const useFiles = () => { }) const file = res.files?.[0] || null - return file ? {...file, ...(fileData || {}), url: file.url} : null + return file ? {...file, ...(fileData || {}), url: resolveFileUrl(file.url)} : null } const downloadFile = async (id?: string, ids?: string[], returnAsBlob: Boolean = false) => {