asp下载文件

有时, 我们提供数据下载的时候, 不希望别人得到文件真实的地址(防止多线程下载, 盗链, 直接下载图片或文档等等), 可以使用如下的方法来隐藏文件的真实地址.

Sub downloadFile(strFile)
On error resume next
Server.ScriptTimeOut=999999
Dim S,fso,f,intFilelength,strFilename
strFilename = strFile
Response.Clear
Set s = Server.CreateObject("ADODB.Stream") 
s.Open
s.Type = 1 
Set fso = Server.CreateObject("Scripting.FileSystemObject") 
If Not fso.FileExists(strFilename) Then
Response.Write("

错误:


系统找不到指定文件") Exit Sub End If Set f = fso.GetFile(strFilename) intFilelength = f.size s.LoadFromFile(strFilename) If err Then Response.Write("

错误:

" & err.Description & "

") Response.End End If Set fso=Nothing Dim Data Data=s.Read s.Close Set s=Nothing If Response.IsClientConnected Then Response.AddHeader "Content-Disposition", "attachment; filename=" & f.name Response.AddHeader "Content-Length", intFilelength Response.CharSet = "UTF-8" Response.ContentType = "application/octet-stream" Response.BinaryWrite Data Response.Flush End If End Sub

XeonWell Studio