ASP Tutorials - Herong's Tutorial Examples - v5.10, by Dr. Herong Yang
Sending Files as Downloads
This section provides a tutorial example on how to send files to the Web browser as downloads using the Content-disposition header line.
Another way of sending files to the browser is via attachment. The following ASP page shows you how to do this:
<script language="vbscript" runat="server"> ' download.asp ' Copyright (c) 2002 by Dr. Herong Yang p = request.ServerVariables("QUERY_STRING") ok = Len(p)>0 if (ok) then if (InStr(p,".html")>0) then contentType = "text/html" elseif (InStr(p,".gif")>0) then contentType = "image/gif" elseif (InStr(p,".pdf")>0) then contentType = "application/pdf" elseif (InStr(p,".doc")>0) then contentType = "application/msword" else ok = false end if end if r = request.ServerVariables("APPL_PHYSICAL_PATH") filePath = r & p if (ok) then response.Buffer = True response.Clear response.ContentType = contentType response.AddHeader "Content-disposition", _ "attachment; filename="&p set objStream = Server.CreateObject("ADODB.Stream") objStream.Open objStream.Type = 1 'binar type? objStream.LoadFromFile filePath response.BinaryWrite objStream.Read objStream.Close response.Flush response.End else response.Write "<html><body>Error:<br/>" response.Write "ApplPhysicalPath = ("&r&")<br/>" response.Write "QueryString = ("&p&")<br/>" response.Write "</body></html>" response.End end if </script>
In this page, another header line, "Content-disposition", is added to the response, in which I am telling the client program that the entity data is an attachment, with file name specified.
Now try to use IE to request: http://localhost:8080/download.asp?hello.pdf, you will see IE prompting you to save the attachment instead of calling Adobe Reader to display the data.
Table of Contents
ASP (Active Server Pages) Introduction
IIS (Internet Information Services) 5.0
Managing Sessions with and without Cookies
scrrun.dll - Scripting Runtime DLL
►Managing Response Header Lines
Controlling Response Header Lines
Response Header Lines for Static Files
Controlling Response Header Line Example
Sending Binary Files to Browsers
Calculation Speed and Response Time
Working with MS Access Database