2

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

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

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

但是 Safari 不喜欢任何建议的内容类型(对文件名做了奇怪的事情——比如在末尾添加“.exe”)。

  • 应用程序/x-ms 下载
  • 应用程序/强制下载

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

4

2 回答 2

0

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

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

于 2009-01-20T21:58:18.287 回答
0

从阅读服务器 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 Service Master 属性中的 Operator。

于 2011-01-11T19:38:47.233 回答