28,391
社区成员
发帖
与我相关
我的任务
分享
'*************************************************
'作 用:本程序的作用是直接下载文件而不是在IE中打开,如htm、txt、asp、jpg文件等
'参数说明:file_url为下载文件地址
'*************************************************
Sub Scs_download(file_url)
'on error resume next
If LCase(Left(file_url,13))="/fuploadfile/" Then '站内文件标志
Dim Scs,ture_url,filename,exe_name,Range,file_name
ture_url=server.MapPath(file_url)
file_name=Mid(ture_url,instrRev(ture_url,"\")+1)
exe_name=Mid(file_name,instrRev(file_name,".")+1)'后缀名
filename=Mid(file_name,1,instrRev(file_name,".")-1)'文件名
Set Scs=CreateObject("Adodb.Stream")
Scs.Mode=3
Scs.Type=1
Scs.Open
Scs.LoadFromFile(ture_url)
If InStr("asp,asa,aspx,mdb,php,html",exe_name)>0 Then
Response.Write "禁止下载"
ElseIf Err.Number<>0 Then
Response.Write "出错"
Else
Response.ContentType="application/octet-stream"
If Instr(Request.ServerVariables("HTTP_USER_AGENT"),"MSIE")>0 Then filename=Server.URLEncode(filename)
Response.AddHeader "Content-Disposition:","Attachment;filename="&filename&"."&exe_name
Range=Mid(Request.ServerVariables("HTTP_RANGE"),7)
If Range="" Then
Response.BinaryWrite(Scs.Read)
Else
Scs.Postion=Clng(Split(Range,"-")(0))
Response.BinaryWrite(Scs.Read)
End If
End If
Else
Response.Redirect file_url '站外只能直接打开
End If
End Sub