У меня есть целая куча строк, которые должны представлять типы MIME. Однако некоторые из этих строк имеют неправильные/недопустимые типы MIME. Есть ли способ в .NET Framework получить список допустимых типов MIME?
Как я могу узнать, представляет ли строка допустимый тип MIME?
comment
Вы ищете список для справки или вы ищете какой-то метод проверки типов MIME в вашем приложении?
- person James Conigliaro   schedule 10.06.2009
comment
@James: я ищу способ проверить.
- person Esteban Araya   schedule 11.06.2009
Ответы (4)
Ознакомьтесь с этим сообщением о переполнении стека о добавлении пользовательского 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.
}
}
person
Matthew Vines
schedule
10.06.2009
У IANA есть список здесь. Я думаю, что это более авторитетно, чем большинство списков, которые вы можете найти.
person
adrianbanks
schedule
10.06.2009
хотя он не является каноническим в том смысле, что он управляется стандартом, файл файл mime.types, поставляемый с любой версией Apache, даст вам хорошее представление о том, что он (и, следовательно, большая часть Интернета) считает допустимыми типами MIME. .
person
Dan Davies Brackett
schedule
10.06.2009
Вслед за 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!
}
person
maxwellb
schedule
10.06.2009