Классический ASP / IIS6: Как выполнить поиск на карте MIME на сервере? - PullRequest
1 голос
/ 21 января 2009

Это тот же вопрос, что и , это , но я ищу классическое решение ASP.

У меня есть сторонний элемент управления для безопасной загрузки, но он ожидает, что вы предоставите значение response.contenttype. Я пытаюсь получить запрос браузера со следующим:

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

Однако Safari не нравится ни один из предложенных типов контента (делает странные вещи с именем файла - например, добавляет «.exe» в конец).

  • применение / х-msdownload
  • применение / сила-загрузки

Так что я бы хотел запросить IIS для определения правильного типа контента или найти общий тип контента, который позволил бы браузеру выяснить это несколько надежным способом.

Ответы [ 2 ]

0 голосов
/ 11 января 2011

Из чтения сервера 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.

0 голосов
/ 21 января 2009

Как правило, mimemap, используемый сайтом, хранится на уровне сервера, и вы можете столкнуться с проблемами разрешения, пытаясь его прочитать. Требуется неприятный код ADSI.

Вы пробовали стандарт application/octet-stream как пантомиму?

...