2009-06-10 10 views
2

J'ai tout un tas de chaînes censées représenter les types MIME. Cependant, certaines de ces chaînes ont des types MIME mauvais/invalides. Existe-t-il un moyen dans le framework .NET d'obtenir une liste de types MIME valides?Comment puis-je savoir si une chaîne représente un type MIME valide?

+0

Vous cherchez une liste de référence ou que vous cherchez une méthode pour valider les types MIME dans votre application? –

+0

@James: Je cherche un moyen de valider. –

Répondre

1

Découvrez this stack overflow post à propos de ajouter des types mime personnalisés.

Vous devriez être en mesure de faire quelque chose comme

using (DirectoryEntry mimeMap = new DirectoryEntry("IIS://Localhost/MimeMap")) 
{ 
    PropertyValueCollection propValues = mimeMap.Properties["MimeMap"]; 
    foreach(IISOle.MimeMap mimeType in propValues) 
    //must cast to the interface and not the class 
    { 
     //access mimeType.MimeType to get the mime type string. 
    } 
} 
1

alors qu'il n'est pas canonique au sens d'être entraîné par une norme, le mime.types file delivered with any version of Apache vous donnera une bonne idée de ce qu'il (et, par conséquent, une grande partie de la web) pense sont des types MIME valides. IANA ont la liste here

2

Je pense que c'est plus une autorité que la plupart des listes que vous pouvez trouver.

0

Faisant suite à partir DDaviesBracket, vous pouvez trouver les dernières mime.types ici:

http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types

puis consommer la liste (par exemple C#):


string[] linesOfMimeTypes = File.ReadAllLines("mime.types"); 

List<string> mimeTypes = new List<string>(); 
foreach(string line in linesOfMimeTypes) 
{ 
    if(line.length < 1) 
     continue; 
    if(line[0] == '#') 
     continue; 
    // else: 
    mimeTypes.Add(line.Split(new char[] { ' ', '\t' })[0]); 
} 

if(mimeTypes.Contains(oneToTest)) 
{ 
    // hooray! 
} 
Questions connexes