Question

This is the same question as this but I'm looking for a classic ASP solution.

I have a third party control to provide secure downloads but it expects you to provide the response.contenttype value. I'm trying to have the browser prompt with the following:

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

However Safari doesn't like any of the suggested content types (does odd things with the file name - like add ".exe" to the end).

  • application/x-msdownload
  • application/force-download

So I'd either like to query IIS for the correct content type or find a generic content type that would let the browser figure it out in a somewhat reliable fashion.

Was it helpful?

Solution

Typically the mimemap being used by the site is stored at server level and you can get into permission issues trying to read it. It requires some nasty ADSI code.

Have you tried the standard application/octet-stream as a mime type?

OTHER TIPS

From Reading the server 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

Note: the code calling GetObject is required to be an Operator in WWW Service Master properties.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top