diff --git a/files/file.go b/files/file.go index 047e8a57..36bcfb72 100644 --- a/files/file.go +++ b/files/file.go @@ -175,7 +175,7 @@ func (i *FileInfo) detectType(modify, saveContent bool) error { case strings.HasPrefix(mimetype, "image"): i.Type = "image" return nil - case strings.HasPrefix(mimetype, "application/object"): + case mimetype == "application/octet-stream" && is3DModelFile(i.Extension): i.Type = "3dobject" return nil case isBinary(buffer[:n], n) || i.Size > 10*1024*1024: // 10 MB @@ -202,6 +202,21 @@ func (i *FileInfo) detectType(modify, saveContent bool) error { return nil } +func is3DModelFile(ext string) bool { + switch strings.ToLower(ext) { + case + ".obj", + ".json", + ".stl", + ".dae", + ".ply", + ".fbx", + ".gltf": + return true + } + return false +} + func (i *FileInfo) detectSubtitles() { if i.Type != "video" { return