让自定义文件下载支持断点续传
发布时间:2009-03-11 19:45:00
标签:断点续传,自定义,下载,文件,Adodb.Stream
大家经常用的是Adodb.Stream,但这时就有个缺陷,就是不支持断点续传了。
经常看到flashget中是红脸(即不支持断点续传)其实支持断点续传也很简单。如下:
利用读取HTTP_RANGE,然后对Adodb.Stream进行定位,然后再输出(原来代码中本来还有Content-Length的设置,理论上应该有,但实践上可省去)
asp下载函数如下:
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")
这时候你会看到红脸变笑脸了。


猜你喜欢
- 这个函数是前几年刚流行小偷程序的时候,偶写来用于小偷程序中截取代码的;可能有些朋友在我以前的代码中看见过了,但没有写用法,现在把调用方法及使
- 本篇博客参考Wuming Zhang的文章“An Easy-to-Use Airborne LiDAR Data Filtering Met
- 前言前面介绍了Allure报告,本篇来学习普通的HTML如何展示在Jenkins上安装插件Manage Jenkins --> Man
- 本文实例讲述了微信公众平台实现获取用户OpenID的方法。分享给大家供大家参考。具体分析如下:用户点击微信自定义菜单view类型按钮后,微信
- 一、watch 默认是浅层,使用deep深层监听被侦听的 property,仅在被赋新值时,才会触发回调函数—&
- Django cors跨域问题前后端分离项目中的跨域问题 即同源策略同源策略:同源策略/SOP(Same origin policy)是一种
- 1.说明opencv安装包中有训练好的分类器文件,可以实现人脸的识别。当然,我们也可以训练自己的分类器文件,实现对特定物体的识别。本文章就详
- 以下实验是我在百度公司实习的时候做的,记录下来留个小经验。多GPU训练cifar10_97.23 使用 run.sh 文件开始训练cifar
- 本文实例讲述了Python函数式编程。分享给大家供大家参考,具体如下:函数式编程就是一种抽象程度很高的编程范式,从计算机硬件->汇编语
- 大家提供了许多linux开代理的方法,一般用到python等语言,一些服务器可能不会安装,然而perl可以说是linux标配的语言,给大家一
- SQL Server 2008我们也能从中体验到很多新的特性,但是对于SQL Server 2008安装,还是用图来说话比较好。本文将从SQ
- MySQL函数CONCAT、CONCAT_WS、GROUP_CONCAT1.concat()函数CONCAT 函数用于将两个字符串连接为一个
- 对python3下的requests使用并不是很熟练,今天稍微用了下,请求几次下来后发现出现连接超时的异常,上网查了下,找到了一个还算中肯的
- 本文实例为大家分享了Python3定时发送邮件功能的具体代码,供大家参考,具体内容如下1、 导入模块import osimport date
- 一、前言大多数编译型语言,变量在使用前必须先声明,其中C语言更加苛刻:变量声明必须位于代码块最开始,且在任何其他语句之前。其他语言,想C++
- 腾讯“月捐计划”倡导爱心人士,通过每月小额捐款的形式,长期关注和支持公益项目。并和亿万爱心网友一起,每人每月1份爱,点滴付出,汇成爱海,形成
- Python语言有一种独特的推导式语法,相当于语法糖的存在,可以帮助你在某些场合写出较为精简酷炫的代码。但没有它,也不会有太多影响。Pyth
- 经过了上个星期的努力学习,对处理html又有了新的发现感觉真的很不错可以说js的威力在处理html代码方面我又有所领悟了1、截取特定长度字符
- 在python中启动和关闭线程:首先导入threadingimport threading然后定义一个方法def serial_read()
- PyTorch 随机数生成占用 CPU 过高的问题今天在使用 pytorch 的过程中,发现 CPU 占用率过高。经过检查,发现是因为先在