经典ASP / IIS6:如何搜索服务器的mime映射?

时间:2009-01-20 21:46:14

标签: iis asp-classic mime mime-types

这是与this相同的问题,但我正在寻找一种经典的ASP解决方案。

我有第三方控件来提供安全下载,但它希望您提供response.contenttype值。我正在尝试使用以下内容进行浏览器提示:

Response.AddHeader“Content-Disposition”,“attachment; filename =”“”& strFileName& “” “”

然而,Safari不喜欢任何建议的内容类型(文件名很奇怪 - 比如添加“.exe”到最后)。

  • 应用程序/ x-msdownload
  • 应用/力下载

所以我要么向IIS查询正确的内容类型,要么找到一个通用的内容类型,让浏览器以一种可靠的方式解决它。

2 个答案:

答案 0 :(得分:0)

通常,网站使用的mimemap存储在服务器级别,您可以在尝试阅读时遇到权限问题。它需要一些令人讨厌的ADSI代码。

您是否尝试过标准application/octet-stream作为mime类型?

答案 1 :(得分:0)

From Reading the server mimemap

Public Function GetMimeType(ByVal Extension)
   Dim oMimeMap
   Dim vntMimeType
   Dim avntMap()

   Set oMimeMap = GetObject("IIS://LocalHost/MimeMap")

   If Left(Extension, 1) <> "." Then Extension = "." & Extension

    avntMap() = oMimeMap.MimeMap

    For Each vntMimeType In avntMap
        If vntMimeType.Extension = Extension Then
            GetMimeType = vntMimeType.MimeType
            Exit For
        End If
    Next

    If GetMimeType = "" Then GetMimeType = "application/octet-stream"
End Function

注意:调用GetObject的代码必须是WWW服务主机属性中的运营商。