Download Script

This section contains the codes and resources related to Classic ASP and ASP.net languages.

Download Script

Postby MT Shahzad on March 21st, 2008, 7:50 pm

The following script allow you to present a download box for a file. This is good if you are interested in hiding the source/path of the file from the user.

Code: Select all
<%
Response.Buffer = True
Dim strFilePath, strFileSize, strFileName

Const adTypeBinary = 1

strFilePath = Request.QueryString("File")
strFileSize = Request.QueryString("Size")
strFileName = Request.QueryString("Name")

Response.Clear

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
%>
MT Shahzad
Web/Software Developer
http://mts.sw3solutions.com
User avatar
MT Shahzad
Site Admin
 
Posts: 300
Joined: February 29th, 2008, 8:11 am
Location: Muridke, Pakistan

Return to ASP / ASP.net

Who is online

Users browsing this forum: No registered users and 0 guests

cron