即直接提示用戶下載而不是由瀏覽器打開某些文件。注意,下面的代碼拷貝到ASP文件中後,不要再添加一些非ASP代碼在頁面中:如HTML和javascript客戶端的代碼。
複製代碼代碼如下:
<%
'--------------------------------------------
Response.Buffer=True
DimstrFilePath,strFileSize,strFileName
ConstadTypeBinary=1
strFilePath="文件路徑"
strFileSize=...文件大小,可選
strFileName="文件名"
Response.Clear
'8*******************************************8
'需要在你的服務器上安裝MDAC2.6或MDAC2.7
'8*******************************************8
SetobjStream=Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type=adTypeBinary
objStream.LoadFromFilestrFilePath
strFileType=lcase(Right(strFileName,4))'文件擴展名站.長.站
'通過文件擴展名判斷Content-Types
SelectCasestrFileType
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"
CaseElse
'HandleAllOtherFiles
ContentType="application/octet-stream"
EndSelect
Response.AddHeader"Content-Disposition","attachment;filename=strFileName
Response.AddHeader"Content-Length",strFileSize
Response.Charset="UTF-8"'客戶端瀏覽器的字符集UTF-8
Response.ContentType=ContentType
Response.BinaryWriteobjStream.Read
Response.Flush
objStream.Close
SetobjStream=Nothing
%>