Search code examples
javaapache-httpclient-4.xapache-httpcomponents

Monitor download progress with apache http components


I have some big files to download with Apache's Http Components and I want to be able to display some progress info to users in the admin console of my web app. What is the right way to monitor a download in progress using this library? I will create a singleton to manage the ongoing downloads, what I need is a way to inspect the open connections and find out where they are at any given time.


Solution

    1. Obtain the Content-Length response header first
    2. Get the result as stream and process it byte-by-byte (in batches)
    3. Count the bytes processed and show the user the percentage of processed bytes from the total number of bytes (obtained on the 1st step)