欢迎光临
我们一直在努力

让自定义文件下载支持断点续传(HTTP_RANGE Adodb.Stream)

建站超值云服务器,限时71元/月

自定义文件下载基本上用在以下几处

1.浏览器已知类型,如avi,doc等如果本地安装了关联程序就会自动在浏览器上打开

2.权限管理,有时候不是所有的人都允许下载,所以需要在下载的时候进行判断

3.经常需要将特殊文件搁到虚拟目录访问不到的地方,以及asp和asa等文件的下载

大家经常用的是adodb.stream,但这时就有个缺陷,就是不支持断点续传了。

经常看到flashget中是红脸(即不支持断点续传)其实支持断点续传也很简单。如下:

利用读取http_range,然后对adodb.stream进行定位,然后再输出

(原来代码中本来还有content-length的设置,理论上应该有,但实践上可省去)

function dl(f,n)

on error resume next

set s=createobject("adodb.stream")

s.mode=3

s.type=1

s.open

s.loadfromfile(f)

if err.number>0 then

response.status="404"

else

response.contenttype="application/octet-stream"

response.addheader "content-disposition:","attachment; filename=" & n

range=mid(request.servervariables("http_range"),7)

if range="" then

response.binarywrite(s.read)

else

s.position=clng(split(range,"-")(0))

response.binarywrite(s.read)

end if

end if

response.end

end function

call dl(server.mappath("c.avi"),"c.avi")

这时候你会看到红脸变笑脸了,一般用在大文件的下载

本地flashget测试通过,并用fc比较下载后的文件和原先的文件

fc: 找不到相异处

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 让自定义文件下载支持断点续传(HTTP_RANGE Adodb.Stream)
分享到: 更多 (0)

相关推荐

  • 暂无文章