From 7e482e1bfe98d89ce6850810f58bf01af2c618c2 Mon Sep 17 00:00:00 2001 From: amamagi <36906576+amamagi@users.noreply.github.com> Date: Tue, 25 Nov 2025 17:12:54 +0900 Subject: [PATCH] fix: guess mimeType when uri is DataURI and mimeType is empty --- .../UniGLTF/Runtime/UniGLTF/IO/GltfData.cs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Packages/UniGLTF/Runtime/UniGLTF/IO/GltfData.cs b/Packages/UniGLTF/Runtime/UniGLTF/IO/GltfData.cs index 7b5af2972..7126eca66 100644 --- a/Packages/UniGLTF/Runtime/UniGLTF/IO/GltfData.cs +++ b/Packages/UniGLTF/Runtime/UniGLTF/IO/GltfData.cs @@ -397,6 +397,24 @@ namespace UniGLTF { return null; } + + // for Data URI + if (uri.StartsWith("data:", StringComparison.Ordinal)) + { + var headerEnd = uri.IndexOf(','); + if (headerEnd < 0) + { + return null; + } + + const int dataPrefixLength = 5; // "data:".Length + var header = uri[dataPrefixLength..headerEnd]; + var semicolonPos = header.IndexOf(';'); + var mime = semicolonPos >= 0 ? header[..semicolonPos] : header; + + return mime is "image/png" or "image/jpeg" ? mime : null; + } + var ext = System.IO.Path.GetExtension(uri).ToLowerInvariant(); switch (ext) {