0

Я использую Apache-Commons и загружаю содержимое файла. Все работает отлично, но я хочу добавить индикатор прогресса, для которого мне нужна длина содержимого входящего файла.Где я могу найти длину содержимого HttpClient?

В моем отладчике я вижу, что у моего InputStream есть объект labled 'in' типа ContentLengthInputStream, и одним из свойств этого объекта является, по сути, длина файла! Тем не менее, я не вижу способа получить этот объект в своем коде. У InputStream не все методы, и ни один из них не попадает в этот внутренний объект или не извлекает из него никаких значений.

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

В случае, если это полезно, вот фрагмент кода вызова ...

HttpClient client = new HttpClient(); 
filePost = new PostMethod(URL_PATH); 


InputStream ret ; 
responseCode = client.executeMethod(filePost);    
ret = filePost.getResponseBodyAsStream(); 

ответ

0

Ах! Нашел ...

используя мой код выше ...

HttpClient client = new HttpClient(); 
filePost = new PostMethod(URL_PATH); 


InputStream ret ; 
responseCode = client.executeMethod(filePost);    
ret = filePost.getResponseBodyAsStream(); 

//adding this here gets you the size of the incoming file 
long fileSize = filePost.getResponseContentLength(); 
Смежные вопросы