Ejemplo n.º 1
0
        MimeTypeNode FindMimeTypeForFile(string fileName)
        {
            IFilePathRegistryService filePathRegistryService = CompositionManager.GetExportedValue <IFilePathRegistryService> ();

            try {
                IContentType contentType = filePathRegistryService.GetContentTypeForPath(fileName);
                if (contentType != PlatformCatalog.Instance.ContentTypeRegistryService.UnknownContentType)
                {
                    string mimeType = PlatformCatalog.Instance.MimeToContentTypeRegistryService.GetMimeType(contentType);
                    if (mimeType != null)
                    {
                        MimeTypeNode mt = FindMimeType(mimeType);
                        if (mt != null)
                        {
                            return(mt);
                        }
                    }
                }
            } catch (Exception ex) {
                LoggingService.LogError("IFilePathRegistryService query failed", ex);
            }

            foreach (MimeTypeNode mt in mimeTypeNodes)
            {
                if (mt.SupportsFile(fileName))
                {
                    return(mt);
                }
            }
            return(null);
        }