讓自定義檔案下載支援斷點續傳(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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用curl斷點續傳下載檔案斷點
- Android下載檔案(一)下載進度&斷點續傳Android斷點
- 支援斷點續傳的大檔案傳輸協議斷點協議
- Java實現檔案斷點續傳Java斷點
- Android斷點續傳下載器JarvisDownloaderAndroid斷點JAR
- 轉:檔案的斷點下載服務端斷點服務端
- requests如何友好地請求下載大檔案?requests實現分段下載、斷點續傳斷點
- 大檔案上傳、斷點續傳、秒傳、beego、vue斷點GoVue
- 1. 大檔案上傳如何斷點續傳斷點
- 檔案下載之斷點續傳(客戶端與服務端的實現)斷點客戶端服務端
- VUE-多檔案斷點續傳、秒傳、分片上傳Vue斷點
- Linux如何實現斷點續傳檔案功能?Linux斷點
- 檔案上傳下載攻略,斷點續傳等等那些事兒,滿滿乾貨(react&node)斷點React
- JAVA實現大檔案分片上傳斷點續傳Java斷點
- Android 中 Service+Notification 斷點續傳下載Android斷點
- Java多執行緒下載器FileDownloader(支援斷點續傳、代理等功能)Java執行緒斷點
- Node.js實現大檔案斷點續傳Node.js斷點
- vue 阿里雲oss下載檔案,自定義命名Vue阿里
- 短影片上傳怎麼做|寫個支援分片上傳/斷點續傳/秒傳功能的檔案服務吧斷點
- 在vue裡,下載自定義內容的檔案Vue
- 多檔案斷點續傳,上傳視訊自動轉MP4和截圖,圖片格式轉換斷點
- Java大檔案上傳、分片上傳、多檔案上傳、斷點續傳、上傳檔案minio、分片上傳minio等解決方案Java斷點
- apisix~自定義檔案上傳代理外掛~支援form-data檔案和kv引數APIORM
- 斷點續傳瞭解一下啊?斷點
- C#如何使用HttpClient對大檔案進行斷點上傳和下載C#HTTPclient斷點
- 上傳大檔案-斷點續傳的一中方式的記錄斷點
- 檔案上傳下載
- 自定義檔案上傳功能實現方法
- Spring 對檔案上傳下載的支援(Spring boot實現)Spring Boot
- JAVA檔案上傳下載Java
- springboot 檔案上傳下載Spring Boot
- 檔案上傳與下載
- Android原生下載(上篇)基本邏輯+斷點續傳Android斷點
- springboot讀取自定義配置檔案節點Spring Boot
- SpringMVC檔案上傳下載(單檔案、多檔案)SpringMVC
- 斷點續傳教學例子斷點
- 上傳——斷點續傳之理論篇斷點
- 用Go語言實現多協程檔案上傳,斷點續傳,你如何實現?Go斷點
- 檔案下載那點事