HttpURLConnection request being hit twice to the server for downloading file

本秂侑毒 提交于 2019-12-05 10:41:57

Your error lies in this line:

url.openStream()

If we go to grepcode to sources of this function, then we will see:

public final InputStream openStream() throws java.io.IOException {
    return openConnection().getInputStream();
}

But you already opened connection, so you opening connection twice.

As solution you need to replace url.openStream() with connection.getInputStream()

Thus your snipped will looks like:

    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    connection.connect();
    int lenghtOfFile = connection.getContentLength();
    Log.d("File Download", "Lenght of file: " + lenghtOfFile);

    InputStream input = new BufferedInputStream(connection.getInputStream());
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!