public string GetMimeTypeForUri(string uri) { if (!String.IsNullOrEmpty(uri)) { MimeTypeNode mt = FindMimeTypeForFile(uri); if (mt != null) { return(mt.Id); } } var mime = OnGetMimeTypeForUri(uri); if (mime != null) { return(mime); } try { if (Path.IsPathRooted(uri) && File.Exists(uri) && !Core.Text.TextFileUtility.IsBinary(uri)) { return("text/plain"); } } catch (IOException) {} return("application/octet-stream"); }
MimeTypeNode FindMimeTypeForFile(string fileName) { try { IContentType contentType = fileToContentTypeService.Value.GetContentTypeForFilePath(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("IFilePathToContentTypeProvider query failed", ex); } foreach (MimeTypeNode mt in MimeTypeNodes.All) { if (mt.SupportsFile(fileName)) { return(mt); } } return(null); }
public IEnumerable <string> GetMimeTypeInheritanceChain(string mimeType) { yield return(mimeType); while (mimeType != null && mimeType != "text/plain" && mimeType != "application/octet-stream") { MimeTypeNode mt = FindMimeType(mimeType); if (mt != null && !string.IsNullOrEmpty(mt.BaseType)) { mimeType = mt.BaseType; } else { if (mimeType.EndsWith("+xml", StringComparison.Ordinal)) { mimeType = "application/xml"; } else if (mimeType.StartsWith("text/", StringComparison.Ordinal) || OnGetMimeTypeIsText(mimeType)) { mimeType = "text/plain"; } else { break; } } yield return(mimeType); } }
public IEnumerable <string> GetMimeTypeInheritanceChain(string mimeType) { yield return(mimeType); while (mimeType != null && mimeType != TextPlain && mimeType != OctetStream) { MimeTypeNode mt = FindMimeType(mimeType); if (mt != null && !string.IsNullOrEmpty(mt.BaseType)) { mimeType = mt.BaseType; } else { if (mimeType.EndsWith("+xml", StringComparison.Ordinal)) { mimeType = ApplicationXml; } else if (mimeType.StartsWith("text/", StringComparison.Ordinal)) { mimeType = TextPlain; } else { break; } } yield return(mimeType); } }
IEnumerable <MimeTypeNode> GetMimeTypeNodeInheritanceChain(MimeTypeNode node) { while (node != null) { yield return(node); if (node.Id == OctetStream || node.Id == TextPlain) { yield break; } if (string.IsNullOrEmpty(node.BaseType)) { if (node.Id.EndsWith("+xml", StringComparison.Ordinal)) { yield return(xmlNode); yield return(textPlainNode); } if (node.Id.StartsWith("text/", StringComparison.Ordinal)) { yield return(textPlainNode); } yield break; } node = FindMimeType(node.BaseType); } }
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); }
IEnumerable <string> GetMimeTypeInheritanceChain(MimeTypeNode node) { if (node == null) { yield break; } foreach (var mt in GetMimeTypeNodeInheritanceChain(node)) { yield return(mt.Id); } }
public string GetMimeTypeForUri(string uri) { if (!String.IsNullOrEmpty(uri)) { MimeTypeNode mt = FindMimeTypeForFile(uri); if (mt != null) { return(mt.Id); } } return(OnGetMimeTypeForUri(uri) ?? "application/octet-stream"); }
string GetIconIdForFile(string fileName) { MimeTypeNode mt = FindMimeTypeForFile(fileName); if (mt != null) { return(mt.Icon); } else { return(OnGetIconIdForFile(fileName)); } }
public string GetMimeTypeForUri(string uri) { if (!String.IsNullOrEmpty(uri)) { FileInfo file = new FileInfo(uri); MimeTypeNode mt = FindMimeTypeForFile(file.Name); if (mt != null) { return(mt.Id); } } return(OnGetMimeTypeForUri(uri) ?? "text/plain"); }
public string GetMimeTypeForUri(string uri) { if (!String.IsNullOrEmpty(uri)) { // Creating file infos is expensive, should be avoided // FileInfo file = new FileInfo (uri); // MimeTypeNode mt = FindMimeTypeForFile (file.Name); MimeTypeNode mt = FindMimeTypeForFile(uri); if (mt != null) { return(mt.Id); } } return(OnGetMimeTypeForUri(uri) ?? "text/plain"); }
public string GetMimeTypeDescription(string mimeType) { if (mimeType == "text/plain") { return(GettextCatalog.GetString("Text file")); } MimeTypeNode mt = FindMimeType(mimeType); if (mt != null && mt.Description != null) { return(mt.Description); } else { return(OnGetMimeTypeDescription(mimeType) ?? string.Empty); } }
string GetIconForType(string type) { if (type == "text/plain") { return("md-text-file-icon"); } MimeTypeNode mt = FindMimeType(type); if (mt != null) { return(mt.Icon); } else { return(OnGetIconForType(type)); } }
string GetIconIdForType(string type) { if (type == "text/plain") { return("md-text-file-icon"); } MimeTypeNode mt = MimeTypeCatalog.Instance.FindMimeType(type); if (mt != null) { return(mt.Icon); } else if (UsePlatformFileIcons) { return(OnGetIconIdForType(type)); } else { return(null); } }
public string GetMimeTypeDescription(string mimeType) { if (mimeType == "text/plain") { return(GettextCatalog.GetString("Text file")); } if (mimeType == "application/octet-stream") { return(GettextCatalog.GetString("Unknown")); } MimeTypeNode mt = MimeTypeCatalog.Instance.FindMimeType(mimeType); if (mt != null && mt.Description != null) { return(mt.Description); } else { return(OnGetMimeTypeDescription(mimeType) ?? string.Empty); } }