可以用流下载(耗内存,少用)或直接转到该文件. Const USE_STREAM = 0 0.不用流(Adodb.Stream)下载 1.用流下载 Dim sDownFilePath 下载文件路径 如果 sDownFilePath 为绝对路径,一定要将 sDownFilePath 转换为相对 本文件的相对路径 sDownFilePath = “focus.swf” Call DownloadFile(sDownFilePath) Function DownloadFile(s_DownFilePath) 判断扩展名是否合法 为了安全,某些目录禁止下载文件,在这里处理 取得文件名,文件大小 判断是否下载的文件大小超过限制 检测服务器是否支持Adodb.Stream o_Stream.Tyep = 1 Response.Buffer = True o_Stream.Close End Function Sub OutputErr(s_ErrMsg) %> http://www.cnblogs.com/jiny-z/archive/2006/08/29/489102.html
<%
Const ALLOW_FILE_EXT = “rar,zip,chm,doc,xls,swf,mp3,gif,jpg,jpeg,png,bmp” 允许下载的文件的扩展名,防止源代码被下载
sDownFilePath = Trim(Request(“FilePath”))
或者根据传过来的文件ID从数据库中获取文件路径
判断有没传递文件名
If IsNull(s_DownFilePath) = True Or Trim(s_DownFilePath) = “” Then
OutputErr “错误:先确定要下载的文件,下载失败”
End If
Dim s_FileExt
s_FileExt = Mid(s_DownFilePath, InstrRev(s_DownFilePath, “.”)+1)
If InStr(“,” & ALLOW_FILE_EXT & “,”, “,” & s_FileExt & “,”) <= 0 Then
OutputErr “错误:文件类型(” & s_FileExt & “)不允许被下载,下载失败”
End If
s_DownFilePath = Replace(s_DownFilePath, “\”, “/”)
检测服务器是否支持fso
Dim o_Fso
On Error Resume Next
Set o_Fso = Server.CreateObject(“Scripting.FileSystemObject”)
If Err.Number <> 0 Then
Err.Clear
OutputErr “错误:服务器不支持fso组件,下载失败”
End If
Dim s_FileMapPath
Dim o_File, s_FileName, n_FileLength
s_FileMapPath = Server.MapPath(s_DownFilePath)
If (o_Fso.FileExists(s_FileMapPath)) = True Then
Set o_File = o_Fso.GetFile(s_FileMapPath)
s_FileName = o_File.Name
n_FileLength = o_File.Size
o_File.Close
Else
OutputErr “错误:文件不存在,下载失败”
End If
Set o_Fso = Nothing
如果不是用流下载,直接转到该文件
If USE_STREAM = 0 Then
Response.Redirect sDownFilePath
Response.end
End If
On Error Resume Next
Set o_Stream = Server.CreateObject(“Adodb.Stream”)
If Err.Number <> 0 Then
Err.Clear
OutputErr “错误:服务器不支持Adodb.Stream组件,下载失败”
End If
o_Stream.Open
o_Stream.LoadFromFile s_FileMapPath
Response.Clear
Response.AddHeader “Content-Disposition”, “attachment; filename=” & s_FileName
Response.AddHeader “Content-Length”, n_FileLength
Response.CharSet = “UTF-8”
Response.ContentType = “application/octet-stream”
Response.BinaryWrite o_Stream.Read
Response.Flush
Set o_Stream = Nothing
Response.Write “<font color=red>” & s_ErrMsg & “</font>”
Response.End
End Sub
asp中自定义文件下载_asp技巧
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » asp中自定义文件下载_asp技巧
相关推荐
-      ASP基础教程:其它的ASP常用组件
-      ASP基础教程:学习ASP中子程序的应用
-      ASP基础教程之ASP程序对Cookie的处理
-      ASP基础教程之ASP AdRotator组件的使用
-      ADO初学者教程:ADO 通过GetString()加速脚本
-      ASP技巧实例:几行代码解决防止表单重复提交
-      ASP常见数学函数 Abs Atn Cos 等详细详解[ 来源:网页教学网 | 作者: | 时间:2007-09-12 10:57:29 | 收藏本文 ] 【大 中 小】【名称】
-      ASP基础教程之ASP AdRotator 组件的使用