OkHttps 實(shí)現(xiàn)斷點(diǎn)續(xù)傳

2020-04-29 09:36 更新

  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)目地址:


官方網(wǎng)站:http://okhttps.ejlchina.com/

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號