W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
OkHttps 對斷點(diǎn)續(xù)傳并沒有再做更高層次的封裝,因?yàn)檫@是app該去做的事情,它在設(shè)計(jì)上使各種網(wǎng)絡(luò)問題的處理變簡單的同時(shí)力求純粹。下面的例子可以看到,OkHttps 通過一個(gè)失敗回調(diào)拿到斷點(diǎn),便將復(fù)雜的問題變得簡單:
http.sync("/download/test.zip")
.get()
.getBody()
.toFolder("D:/download/")
.setOnFailure((Failure failure) -> { // 下載失敗回調(diào),以便接收諸如網(wǎng)絡(luò)錯(cuò)誤等失敗信息
IOException e = failure.getException(); // 具體的異常信息
long doneBytes = failure.getDoneBytes(); // 已下載的字節(jié)數(shù)(斷點(diǎn)),需要保存,用于斷點(diǎn)續(xù)傳
File file = failure.getFile(); // 下載生成的文件,需要保存 ,用于斷點(diǎn)續(xù)傳(只保存路徑也可以)
})
.start();
下面代碼實(shí)現(xiàn)續(xù)傳:
long doneBytes = ... // 拿到保存的斷點(diǎn)
File file = ... // 待續(xù)傳的文件
http.sync("/download/test.zip")
.setRange(doneBytes) // 設(shè)置斷點(diǎn)(已下載的字節(jié)數(shù))
.get()
.getBody()
.toFile(file) // 下載到同一個(gè)文件里
.setAppended() // 開啟文件追加模式
.setOnSuccess((File file) -> {
})
.setOnFailure((Failure failure) -> {
})
.start();
如果覺得 OkHttps 好用,就去點(diǎn)個(gè) Star 吧,項(xiàng)目地址:
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: