Классический ASP/IIS6:Как выполнить поиск по mime-карте сервера?

StackOverflow https://stackoverflow.com/questions/463268

Вопрос

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

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

Ответ.Добавить заголовок "Расположение содержимого", "вложение;filename=""" & strFileName & """"

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

  • приложение/x-msdownload
  • приложение /принудительно-скачать

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

Это было полезно?

Решение

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

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top