Sample code for 30+ languages & platforms
Classic ASP

MIME Content-Disposition Header Field

See more MIME Examples

Explains the Content-Disposition header field and the properties used for setting or updating.

Chilkat Classic ASP Downloads

Classic ASP
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
success = 0

' The Content-Disposition header field provides a suggestion to the receiver for how the content is to be processed.
' The standard dispositions are "inline" and "attachment".  

' A disposition of "attachment" indicates the content is something to be saved to a file and not processed (such as rendering for viewing inline).
' A disposition of "inline" indicates the content should be processed (displayed) inline with the other parts of the MIME message.

' For example, an email client could handle a JPG image based on the disposition.  If the disposition is "attachment",
' the email client (such as Thunderbird, GMail, or Outlook) might simply list the JPG image as one of the email's attachments,
' but won't display the JPG image.  If the disposition is "inline", the email client might display the JPG image, but not list
' it as an attachment.

' The Content-Disposition header field can also include a "filename" attribute.  This is the suggested default filename if the content
' is to be saved to a file.

set mime = Server.CreateObject("Chilkat.Mime")

' The Content-Disposition header field can be set or modified in two ways.
' 1) By setting the Disposition and Filename properties.

' 2) By setting the entire contents of the Content-Disposition header with the SetHeaderField method.
'    Setting the Content-Disposition header automatically updates the Disposition and Filename properties.

' For example:
mime.Disposition = "attachment"
mime.Filename = "ghost.jpg"

' The Content-Disposition header field contains this:
'     Content-Disposition: attachment; filename="ghost.jpg"
Response.Write "<pre>" & Server.HTMLEncode( mime.GetEntireHead()) & "</pre>"
Response.Write "<pre>" & Server.HTMLEncode( "-") & "</pre>"

' If we set the entire header field..
success = mime.SetHeaderField("Content-Disposition","attachment; filename=""zombie.jpg""")
' The Content-Disposition header field now contains this:
'     Content-Disposition: attachment; filename="zombie.jpg"
Response.Write "<pre>" & Server.HTMLEncode( mime.GetEntireHead()) & "</pre>"
Response.Write "<pre>" & Server.HTMLEncode( "-") & "</pre>"

' Notice how the Filename property has been updated
Response.Write "<pre>" & Server.HTMLEncode( "Filename property: " & mime.Filename) & "</pre>"
Response.Write "<pre>" & Server.HTMLEncode( "-") & "</pre>"

' To change a particular attribute value, set the property.
mime.Filename = "skeleton.jpg"
Response.Write "<pre>" & Server.HTMLEncode( mime.GetEntireHead()) & "</pre>"
Response.Write "<pre>" & Server.HTMLEncode( "-") & "</pre>"

' To remove the filename from the Content-Disposition header,
' set the property to an empty string.
mime.Filename = ""
Response.Write "<pre>" & Server.HTMLEncode( mime.GetEntireHead()) & "</pre>"
Response.Write "<pre>" & Server.HTMLEncode( "-") & "</pre>"

%>
</body>
</html>