bestlong 怕失憶論壇's Archiver

bestlong 發表於 2006-9-12 16:08

ASP 強制下載檔案的程式(不會在網頁中開啟)

[code]
<%
' download.asp
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 server.mappath(strFilePath)
strFileType = lcase(Right(strFileName, 4))
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
  ContentType = "application/octet-stream"
End Select
Response.AddHeader "Content-Disposition", "attachment; filename=" & strFileName
Response.AddHeader "Content-Length", strFileSize
Response.Charset = "UTF-8"
Response.ContentType = ContentType
Response.BinaryWrite objStream.Read
Response.Flush
objStream.Close
Set objStream = Nothing
%>
[/code]

用 download.asp?File=檔名 就會直接出現檔案下載對話框
頁: [1]

Powered by Discuz! X1.5 Archiver   © 2001-2010 Comsenz Inc.