Как я могу узнать, представляет ли строка действительный тип MIME?

2

У меня есть целая цепочка строк, которые должны представлять типы MIME. Однако некоторые из этих строк имеют неправильные/недопустимые типы MIME. Есть ли способ в .NET Framework получить список допустимых типов MIME?

  • 0
    Вы ищете список для справки или какой-то метод проверки типов MIME в вашем приложении?
  • 0
    @James: я ищу способ проверить.
Теги:
mime-types

4 ответа

1
Лучший ответ

Отметьте этот пост о добавлении пользовательских типов 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.
    }
}
2

В IANA есть список здесь. Я думаю, что это больше авторитет, чем большинство списков, которые вы можете найти.

1

в то время как он не каноничен в смысле управления стандартом, файл mime.types, поставляемый с любой версией Apache, даст вы хорошо знаете, что это (и, следовательно, большая часть Интернета) считает допустимыми типы MIME.

0

Вслед за 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!
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню