downfile.asp

来自「这是一套基于WEB的网站管理系统」· ASP 代码 · 共 44 行

ASP
44
字号
<%
Dim url,strUrl,strPath
url = Replace(Replace(Replace(Request("url"), "'", ""), "%", ""), "\", "/")

If Len(url) > 3 Then
	If Left(url,1) = "/" Then
		Response.Redirect url
	End If
	If Left(url,3) = "../" Then
		Response.Redirect url
	End If
	strUrl = Left(url,10)
	If InStr(strUrl, "://") > 0 Then
		Response.Redirect  url
	End If
	If InStr(url, "/") > 0 Then
		strPath = Server.MapPath(".") & "\" & url
		strPath = Replace(strPath, "/", "\")
		Call downThisFile(strPath)
	Else
		Response.Redirect url
	End If
End If

Sub downThisFile(thePath)
	Response.Clear
	On Error Resume Next
	Dim stream, fileName, fileContentType
	
	fileName = split(thePath,"\")(UBound(split(thePath,"\")))
	Set stream = Server.CreateObject("adodb.stream")
	stream.Open
	stream.Type = 1
	stream.LoadFromFile(thePath)
	Response.AddHeader "Content-Disposition", "attachment; filename=" & fileName
	Response.AddHeader "Content-Length", stream.Size
	Response.Charset = "UTF-8"
	Response.ContentType = "application/octet-stream"
	Response.BinaryWrite stream.Read 
	Response.Flush
	stream.Close
	Set stream = Nothing
End Sub
%>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?