讓自定義檔案下載支援斷點續傳(HTTP_RANGE Adodb.Stream) (轉)
自定義基本上用在以下幾處
1.已知型別,如Avi,Doc等如果本地了關聯就會自動在瀏覽器上開啟
2.管理,有時候不是所有的人都允許下載,所以需要在下載的時候進行判斷
3.經常需要將特殊檔案擱到虛擬目錄訪問不到的地方,以及和asa等檔案的下載
大家經常用的是Ado.Stream,但這時就有個缺陷,就是不支援斷點續傳了。
經常看到中是紅臉(即不支援斷點續傳)其實支援斷點續傳也很簡單。如下:
利用讀取HTTP_RANGE,然後對Adodb.Stream進行定位,然後再輸出
(原來程式碼中本來還有Content-Length的設定,理論上應該有,但實踐上可省去)
function dl(f,n)
on error resume next
Set S=Create("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: 找不到相異處
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-991605/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- php 支援斷點續傳的檔案下載類PHP斷點
- PHP大檔案下載(方式1不支援斷點續傳)PHP斷點
- 使用curl斷點續傳下載檔案斷點
- Winform檔案下載之斷點續傳ORM斷點
- PHP大檔案下載(方式2支援斷點續傳)PHP斷點
- C# 檔案下載之斷點續傳C#斷點
- C# FTP上傳下載(支援斷點續傳)C#FTP斷點
- C# 上傳下載ftp(支援斷點續傳)C#FTP斷點
- Android下載檔案(一)下載進度&斷點續傳Android斷點
- PHP實現檔案下載斷點續傳詳解PHP斷點
- 支援斷點續傳的大檔案傳輸協議斷點協議
- iOS大檔案斷點續傳iOS斷點
- Android okhttp+rxjava實現多檔案下載和斷點續傳AndroidHTTPRxJava斷點
- HTTP檔案斷點續傳的原理HTTP斷點
- Java實現檔案斷點續傳Java斷點
- requests如何友好地請求下載大檔案?requests實現分段下載、斷點續傳斷點
- OkHttp使用+檔案的上傳+斷點續傳HTTP斷點
- 大檔案上傳、斷點續傳、秒傳、beego、vue斷點GoVue
- 使用asp下的adodb.stream 下載檔案
- 1. 大檔案上傳如何斷點續傳斷點
- 檔案下載之斷點續傳(客戶端與服務端的實現)斷點客戶端服務端
- 利用HTTP協議實現檔案下載的多執行緒斷點續傳HTTP協議執行緒斷點
- 支援斷點續傳的檔案上傳外掛——Huploadify-V2.0來了斷點
- 讓iis支援下載apk,ipa檔案APK
- VUE-多檔案斷點續傳、秒傳、分片上傳Vue斷點
- 檔案上傳下載攻略,斷點續傳等等那些事兒,滿滿乾貨(react&node)斷點React
- Linux斷點續傳檔案功能詳解Linux斷點
- JAVA實現大檔案分片上傳斷點續傳Java斷點
- Android 中 Service+Notification 斷點續傳下載Android斷點
- Android斷點續傳下載器JarvisDownloaderAndroid斷點JAR
- iOS11 下載之斷點續傳的bugiOS斷點
- iOS 開發之 NSURLSession 下載和斷點續傳iOSSession斷點
- Linux如何實現斷點續傳檔案功能?Linux斷點
- Node.js實現大檔案斷點續傳Node.js斷點
- 大檔案斷點下載(NSURLConnection)斷點
- Java多執行緒下載器FileDownloader(支援斷點續傳、代理等功能)Java執行緒斷點
- 斷點續傳斷點
- 無外掛實現大檔案分片上傳,斷點續傳斷點