国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

讓自定義文件下載支持斷點續傳

2019-11-18 20:15:32
字體:
來源:轉載
供稿:網友
自定義文件下載基本上用在以下幾處

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: 找不到相異處

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 抚州市| 东乡县| 宜兴市| 清徐县| 且末县| 集贤县| 丹寨县| 庆元县| 土默特左旗| 平乡县| 郓城县| 连平县| 建水县| 清远市| 武宁县| 固始县| 武乡县| 冕宁县| 徐州市| 大邑县| 正定县| 集安市| 深圳市| 赤城县| 昌江| 平定县| 沧州市| 沧源| 肇州县| 盖州市| 岳普湖县| 商都县| 邯郸县| 施秉县| 霍山县| 赞皇县| 顺义区| 青浦区| 额济纳旗| 蒙自县| 新野县|