Próbuję uzyskać rozmiaru zawartości URL, używając:Android: URLConnection.getContentLength() daje niepoprawną wartość
URLConnection conn = null;
URL url = null;
url = new URL("https://dl.dropboxusercontent.com/u/90210205/Default.html");
conn = url.openConnection();
conn.connect();
InputStream in = new BufferedInputStream(url.openStream());
int fileSize = conn.getContentLength();
System.out.println("File size " + fileSize);
while (in.read() != -1) {
i++;
}
in.close();
System.out.println("Read " + i + " bytes of a possible " + fileSize);
używam tego w doInBackground()
wystąpienia AsyncTask
a dla niektórych powód conn.getContentLength();
powraca 1273
, kiedy powinien powrócić 10136
.
Użyłem powyższego kodu w głównym pliku zwykłej aplikacji Java, a conn.getContentLength();
zwraca prawidłową wartość 10136.
Dlaczego to nie działa w przypadku AsyncTask
?
Czy używasz Chunked Transfer Encoding od strony serwera? – axierjhtjz