如何知道字符串是否表示有效的MIME类型?

时间:2009-06-10 18:12:22

标签: c# .net mime-types

我有一大堆字符串应该代表MIME类型。但是,其中一些字符串具有错误/无效的MIME类型。 .NET框架中是否有一种方法可以获取有效MIME类型的列表?

4 个答案:

答案 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!
}