ASP / IIS6 classique: comment effectuer une recherche dans la carte mime du serveur?
-
19-08-2019 - |
Question
Il s'agit de la même question que this mais je recherche une solution ASP classique.
Je dispose d'un contrôle tiers pour fournir des téléchargements sécurisés, mais il s'attend à ce que vous fournissiez la valeur response.contenttype. J'essaie d'avoir l'invite du navigateur avec les éléments suivants:
Response.AddHeader "Content-Disposition", "pièce jointe; nom_fichier =" " " & amp; strFileName & amp; """
Cependant, Safari n’apprécie aucun des types de contenu suggérés (fait des choses étranges avec le nom de fichier - comme ajouter ".exe" à la fin).
- application / x-msdownload
- application / force-download
Je voudrais donc interroger IIS pour connaître le type de contenu correct ou trouver un type de contenu générique qui permettrait au navigateur de le comprendre de manière assez fiable.
La solution
Généralement, le mimemap utilisé par le site est stocké au niveau du serveur et vous pouvez rencontrer des problèmes d’autorisation en essayant de le lire. Il nécessite un code ADSI méchant.
Avez-vous essayé le application / octet-stream
standard en tant que type mime?
Autres conseils
À partir de la lecture du mimemap du serveur :
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
Remarque: le code appelant GetObject
doit obligatoirement être un opérateur dans les propriétés du maître de service WWW.