|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
自定义文件下载基本上用在以下几处 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: 找不到相异处 返回类别: 教程 上一教程: 用ASP实现号码转变程序实例 下一教程: 如何读出空格 您可以阅读与"让自定义文件下载支持断点续传"相关的教程: · 让自定义文件下载支持断点续传(HTTP_RANGE ADODB.STREAM) · 用ASP将数据转为XML文件下载 · 实现文件下载而不是由IE打开的代码 · ASP和C#隐藏文件下载路径的方式 · SQL7的IMAGE字段的文件下载到客户端 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |