Obtener el content-type de un fichero
Artículo por Club Developers · 17 abril 2006
2257 vistas
Los content-types se encuentran en la base de registro. "Bastará" en recorrer las asociaciones extensión / content-type para encontrar aquella que corresponda a la extensión de nuestro fichero.
Veamos una función que permite realizar esta búsqueda.
Sin olvidar importar los namespaces siguientes:
Veamos una función que permite realizar esta búsqueda.
csharp
public static string GetMIMEType(string filepath) { RegistryPermission regPerm = new RegistryPermission(RegistryPermissionAccess.Read, "\\HKEY_CLASSES_ROOT"); RegistryKey classesRoot = Registry.ClassesRoot; String dotExt = fi.Extension.ToLower(); RegistryKey typeKey = classesRoot.OpenSubKey(@"MIME\Database\Content Type"); String Keyname =""; foreach (string keyname in typeKey.GetSubKeyNames()) { RegistryKey curKey = classesRoot.OpenSubKey(@"MIME\Database\Content Type\" + keyname); if ((String)curKey.GetValue("Extension") == dotExt) { Keyname = keyname; } } return Keyname; }
Sin olvidar importar los namespaces siguientes:
csharp
using System.IO; using System.Security.Permissions; using Microsoft.Win32;