У меня есть целая цепочка строк, которые должны представлять типы MIME. Однако некоторые из этих строк имеют неправильные/недопустимые типы MIME. Есть ли способ в .NET Framework получить список допустимых типов MIME?
Отметьте этот пост о добавлении пользовательских типов mime.
Вы должны иметь возможность сделать что-то вроде
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.
}
}
В IANA есть список здесь. Я думаю, что это больше авторитет, чем большинство списков, которые вы можете найти.
в то время как он не каноничен в смысле управления стандартом, файл mime.types, поставляемый с любой версией Apache, даст вы хорошо знаете, что это (и, следовательно, большая часть Интернета) считает допустимыми типы MIME.
Вслед за DDaviesBracket вы можете найти последние mime.types здесь:
http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types
а затем уничтожить список (например, для С#):
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!
}