ASP.NET/IIS6 : How to search the server's mime map?

标签 asp.net iis mime mime-types

我想从代码隐藏文件中找到 IIS ASP.NET Web 服务器上给定文件扩展名的 MIME 类型。

我想搜索服务器本身在提供文件时使用的相同列表。这意味着网络服务器管理员添加到 Mime Map 的任何 MIME 类型都将包含在内。

我可以盲目使用

HKEY_CLASSES_ROOT\MIME\Database\Content Type

但这并没有记录为与 IIS 使用的列表相同,也没有记录 Mime Map 的存储位置。

我可以盲打FindMimeFromData ,但这并没有记录为与 IIS 使用的列表相同,我也不能保证 IIS Mime Map 也将从该调用返回。

最佳答案

这是我之前做的一个:

public static string GetMimeTypeFromExtension(string extension)
{
    using (DirectoryEntry mimeMap = 
           new DirectoryEntry("IIS://Localhost/MimeMap"))
    {
        PropertyValueCollection propValues = mimeMap.Properties["MimeMap"];

        foreach (object value in propValues)
        {
            IISOle.IISMimeType mimeType = (IISOle.IISMimeType)value;

            if (extension == mimeType.Extension)
            {
                return mimeType.MimeType;
            }
        }

        return null;

    }
}

添加对 System.DirectoryServices 的引用以及对 Active DS IIS Namespace Provider 的引用在 COM 选项卡下。扩展名需要有前导点,即 .flv .

关于ASP.NET/IIS6 : How to search the server's mime map?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/174888/

相关文章:

asp.net - ASP.net 更新面板的事件问题

php - 将站点迁移到新域和服务器后,WordPress 自定义结构永久链接中断

iis - dotnet publish-iis 不起作用

java - Java 是否有任何标准的 uudecoding 机制?

c# - 在 asp.net 中使用文本框拆分单词

c# - 非常简单的 ASP.NET 3.5 应用程序的问题,使用 C#

php - 安排在 IIS 中运行的 PHP 任务

css - Sitecore 媒体库 : Incorrect CSS mime type

c# - 使用 C# 解析电子邮件正文

asp.net - 即使在 IIS 的 web.config 中使用 <remove> 标记后也会出现重复部分错误