支持断点续传的 asp文件全部代码

这种方法可以将重要文件隐藏在非IIS或web服务目录,稍加修改,就可以给下载加上权限。

以下是支持断点续传的 asp文件全部代码
(注意:支持Flashget 不支持 Netannts 。 Netannts 太烂了,出点问题就不能下载,还是Flashget强大,一般都可以下载)

建议 太大的文件不要用ASP下载,因为下载前会将文件全部装入内存。

可以通过 download.asp?file=C:\MYsoft\myfile.exe 来下载 存在于服务器的任何文件

 1   
 2call downloadfile(trim(request("file")))   
 3  
 4function downloadFile(filepath)   
 5on error resume next   
 6  
 7Response.buffer=false   
 8  
 9Set S=CreateObject("Adodb.Stream")   
10S.Mode=3   
11S.Type=1   
12S.Open   
13S.LoadFromFile(filepath)   
14  
15'开始下载   
16if Err.Number>0 then   
17Response.Status="404"   
18else   
19Range=Mid(Request.ServerVariables("HTTP_RANGE"),7)   
20  
21Response.AddHeader "Content-Disposition:","attachment; filename=" & s.name   
22  
23if Range="" then   
24Response.AddHeader "Content-Length", s.size   
25else   
26Response.AddHeader "Content-Length", (s.size-Clng(Split(Range,"-")(0)))   
27End if   
28  
29Response.ContentType="application/download_only"   
30Response.CharSet = "UTF-8"   
31  
32if Range="" then   
33Response.BinaryWrite(S.Read)   
34else   
35S.position=Clng(Split(Range,"-")(0))   
36Response.BinaryWrite(S.Read)   
37End if   
38  
39end if   
40Response.End   
41  
42end function   

其中 download_only 是为了写一个浏览器无法辨别的ContentType,这样 如果要下载 .htm文件时 也会出现 “下载文件”的提示,不至于 直接在浏览器里显示,呵呵……

Published At
Categories with Web编程
Tagged with
comments powered by Disqus