Как знать размер файла прежде, чем загрузить его?

Я должен загрузить файл, и я использую этот код, который является в основном AsyncTask это предназначено для обновления индикатора выполнения. Но, так как я не знаю то, что является размером файла, я должен был использовать индикатор выполнения счетчика. Так, как я могу получить размер файла, прежде чем начнут загружать его так, чтобы я мог использовать нормальный индикатор выполнения?

32
задан Cristian 18 July 2010 в 04:47
поделиться

1 ответ

вы можете получить заголовок под названием Content-Length из объекта HTTP Response, который вы получите, это даст вам длину файла. Однако следует отметить, что некоторые серверы не возвращают эту информацию, и единственный способ узнать фактический размер - это прочитать все из ответа.

Пример:

URL url = new URL("http://server.com/file.mp3");
URLConnection urlConnection = url.openConnection();
urlConnection.connect();
int file_size = urlConnection.getContentLength();
73
ответ дан 27 November 2019 в 20:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: