Klassische ASP / IIS 6: Wie die Server-Mime Karte suchen?
-
19-08-2019 - |
Frage
Dies ist die gleiche Frage wie dieses , aber ich bin für eine klassische ASP-Lösung suchen.
Ich habe einen Dritten Kontrolle sichere Downloads bieten, aber es erwartet Sie die Response.ContentType Wert zu liefern. Ich versuche, die Browser-Eingabeaufforderung mit der folgenden haben:
Response.AddHeader "Content-Disposition", "attachment; filename =" "" & strFileName & "" ""
Allerdings Safari mag keine der vorgeschlagenen Content-Typen (nicht seltsame Dinge mit dem Dateinamen - wie bis zum Ende „.exe“ add)
.- application / x-msdownload
- application / Kraft-Download
So würde ich entweder IIS wie für den korrekten Inhaltstyp abfragen oder einen generischen Content-Typen finden, der den Browser Abbildung es heraus in etwas zuverlässigen Weise lassen würde.
Lösung
Typischerweise wird die MimeMap durch die Website benutzt wird auf Server-Ebene gespeichert und Sie können in Berechtigungsprobleme zu bekommen versuchen, es zu lesen. Es erfordert einig bösen ADSI-Code.
Haben Sie den Standard application/octet-stream
als MIME-Typ versucht?
Andere Tipps
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
Hinweis: der Code Aufruf GetObject
benötigt ein Operator in WWW Service Master Eigenschaften sein