Force Download Of File

When you serve a document from a Web server, you might want to immediately prompt the user to save the file directly to the user's disk, without opening it in the browser. However, for known MIME (Multipurpose Internet Mail Extensions) types such as Microsoft Word ("application/ms-word"), the default behavior is to open the document in Internet Explorer.

<%
 '--------------------------------------------
Response.Buffer = True
Dim strFilePath, strFileSize, strFileName
 
Const adTypeBinary = 1
 
strFilePath = "C:\ whatever the path is "
strFileSize = ... the size of file .. optional
strFileName = the file name 

Response.Clear
 
'8*******************************8
' Requires MDAC 2.5 to be stable
' I recommend MDAC 2.6 or 2.7
'8*******************************8
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = adTypeBinary
objStream.LoadFromFile strFilePath
 
strFileType = lcase(Right(strFileName, 4))
 
' Feel Free to Add Your Own Content-Types Here
 Select Case strFileType
 Case ".asf"
 ContentType = "video/x-ms-asf"
 Case ".avi"
 ContentType = "video/avi"
 Case ".doc"
 ContentType = "application/msword"
 Case ".zip"
 ContentType = "application/zip"
 Case ".xls"
 ContentType = "application/vnd.ms-excel"
 Case ".gif"
 ContentType = "image/gif"
 Case ".jpg", "jpeg"
 ContentType = "image/jpeg"
 Case ".wav"
 ContentType = "audio/wav"
 Case ".mp3"
 ContentType = "audio/mpeg3"
 Case ".mpg", "mpeg"
 ContentType = "video/mpeg"
 Case ".rtf"
 ContentType = "application/rtf"
 Case ".htm", "html"
 ContentType = "text/html"
 Case ".asp"
 ContentType = "text/asp"
 Case Else
 'Handle All Other Files
 ContentType = "application/octet-stream"
 End Select
 

Response.AddHeader "Content-Disposition", "attachment; filename= strFileName
Response.AddHeader "Content-Length", strFileSize
' In a Perfect World, Your Client would also have UTF-8 as the default 
' In Their Browser
Response.Charset = "UTF-8"
Response.ContentType = ContentType
 
Response.BinaryWrite objStream.Read
Response.Flush
 
objStream.Close
Set objStream = Nothing
 
%>


asp download download dialog box force download word excel msword


Back To Top
© 1998 - 2024 psacake.com
Version 7.21 | Advertise on this site