diff --git a/packages/webgal/src/Core/controller/scene/sceneFetcher.ts b/packages/webgal/src/Core/controller/scene/sceneFetcher.ts index c66c04cf1..9f6102c84 100644 --- a/packages/webgal/src/Core/controller/scene/sceneFetcher.ts +++ b/packages/webgal/src/Core/controller/scene/sceneFetcher.ts @@ -6,6 +6,16 @@ import axios from 'axios'; */ export const sceneFetcher = (sceneUrl: string) => { return new Promise((resolve, reject) => { + let scenePath = ''; + try { + scenePath = sceneUrl ? new URL(sceneUrl, window.location.href).pathname : ''; + } catch { + scenePath = ''; + } + if (!scenePath.endsWith('.txt')) { + reject('Scene file must be a txt file'); + return; + } axios .get(sceneUrl) .then((response) => {