I've written the following extension to determine the MIME type of a base64 string.  It's worked in my local tests, but can anyone point out issues or alternate methods?

    public static AttachmentType GetMimeType(this string value)
    {
        if(String.IsNullOrEmpty(value))
            return new AttachmentType
                    {
                        FriendlyName = "Unknown",
                        MimeType = "application/octet-stream",
                        Extension = ""
                    };

        var data = value.Substring(0,5);

        switch (data.ToUpper())
        {
            case "IVBOR":
            case "/9J/4":
                return new AttachmentType
                    {
                        FriendlyName = "Photo",
                        MimeType = "image/png",
                        Extension = ".png"
                    };

            case "AAAAF":
                return new AttachmentType
                    {
                        FriendlyName = "Video",
                        MimeType = "video/mp4",
                        Extension = ".mp4"
                    };
            case "JVBER":
                return new AttachmentType
                    {
                        FriendlyName = "Document",
                        MimeType = "application/pdf",
                        Extension = ".pdf"
                    };

            default:
                return new AttachmentType
                    {
                        FriendlyName = "Unknown",
                        MimeType = string.Empty,
                        Extension = ""
                    };
        }
    }
    
    public class AttachmentType
    {
        public string MimeType { get; set; }
        public string FriendlyName { get; set; }
        public string Extension { get; set; }
    }