我有一大堆字符串应该代表MIME类型。但是,其中一些字符串具有错误/无效的MIME类型。 .NET框架中是否有一种方法可以获取有效MIME类型的列表?
答案 0 :(得分:2)
IANA有一个列表here。我认为这比你能找到的大多数名单更具权威性。
答案 1 :(得分:1)
虽然在标准驱动的意义上它不是规范的,mime.types file delivered with any version of Apache会让你对它(以及因此大量的网络)认为有效的MIME类型有什么好处。
答案 2 :(得分:1)
查看有关添加自定义mime类型的this stack overflow post。
您应该可以执行类似
的操作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.
}
}
答案 3 :(得分:0)
从DDaviesBracket跟进,你可以在这里找到最新的mime.types:
http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types
然后使用列表(例如,对于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!
}