Классический ASP/IIS6:Как выполнить поиск по mime-карте сервера?
-
19-08-2019 - |
Вопрос
Это тот же вопрос , что и это но я ищу классическое решение ASP.
У меня есть сторонний элемент управления для обеспечения безопасных загрузок, но он ожидает, что вы предоставите значение response.contenttype .Я пытаюсь получить запрос браузера со следующим:
Ответ.Добавить заголовок "Расположение содержимого", "вложение;filename=""" & strFileName & """"
Однако Safari не нравится ни один из предложенных типов контента (делает странные вещи с именем файла - например, добавляет ".exe" в конец).
- приложение/x-msdownload
- приложение /принудительно-скачать
Поэтому я бы хотел либо запросить у IIS правильный тип контента, либо найти общий тип контента, который позволил бы браузеру определить это достаточно надежным способом.
Решение
Обычно mimemap, используемая сайтом, хранится на уровне сервера, и при попытке ее прочитать у вас могут возникнуть проблемы с разрешениями.Для этого требуется какой-то неприятный ADSI-код.
Вы пробовали стандартный application/octet-stream
как тип mime?
Другие советы
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.