Ich versuche, die Größe des Inhalts einer URL zu erhalten mit:Android: URLConnection.getContentLength() falschen Wert zu geben
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);
ich dies mit im doInBackground()
eines AsyncTask
und für einige Grund conn.getContentLength();
gibt 1273
zurück, wenn es 10136
zurückgeben sollte.
Ich habe den obigen Code innerhalb der Main einer regulären Java-Anwendung verwendet und conn.getContentLength();
gibt den richtigen 10136-Wert zurück.
Warum funktioniert es nicht in einem AsyncTask
?
Verwenden Sie Chunked Transfer Encoding von Ihrer Server-Seite? – axierjhtjz