国产探花免费观看_亚洲丰满少妇自慰呻吟_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: 找不到相異處

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长春市| 双城市| 衡山县| 建德市| 佛坪县| 黎川县| 枣阳市| 南召县| 蓬莱市| 梅河口市| 称多县| 新绛县| 南通市| 克什克腾旗| 大名县| 台北县| 凯里市| 通许县| 新巴尔虎左旗| 平原县| 临漳县| 余姚市| 汝州市| 兴城市| 鄢陵县| 浦县| 台湾省| 凌海市| 阿鲁科尔沁旗| 镇安县| 永清县| 宝坻区| 和顺县| 合川市| 会同县| 灵山县| 潮安县| 贵阳市| 介休市| 西平县| 新田县|