DEV Community

loading...

[tips]Download File in Android with OkHttp

3theye profile image 3theye ・1 min read

Reading the file

ตอนที่เราดาวน์โหลดมันข้อมูลที่เราได้จะมาในรูปแบบ stream of data เราจึงต้องอ่านทีละส่วนเพื่อประกอบเป็นไฟล์ลงในเครื่อง

ซึ่งใน Kotlin เราสามารถทำได้อย่างง่ายดายด้วย code ไม่กี่บรรทัด ตัวอย่างด้านล่าง

body.byteStream().apply {
    file.outputStream().use { fileOut ->
        copyTo(fileOut, BUFFER_LENGTH_BYTES)
    }
}
Enter fullscreen mode Exit fullscreen mode

อย่างไรก็ตามการใช้ copyTo มีข้อเสียอย่างหนึ่งคือเราไม่สามารถรู้ progress ในการทำงานได้

Discussion (0)

Forem Open with the Forem app