Ich verwende okhttp zum Herunterladen von Video vom Server. Es gibt keinen Fehler, keine Ausnahme, aber die Datei wird nicht überall heruntergeladen, aber es scheint so zu sein. Hierokhttp nicht herunterladen der Datei
ist der Code:
OkHttpClient httpClient = new OkHttpClient();
Call call = httpClient.newCall(new Request.Builder().url("http://res.cloudinary.com/demo/video/upload/v1427018743/ygzxwxmflekucvqcrb8c.mp4").get().build());
try {
File file = new File(getCacheDir(), user_Videos.get(i).video_title+ ".mp4");
OutputStream out = new FileOutputStream(file);
Response response = call.execute();
if (response.code() == 200) {
InputStream inputStream = null;
try {
inputStream = response.body().byteStream();
byte[] buff = new byte[1024 * 8];
long downloaded = 0;
long target = response.body().contentLength();
publishProgress(0L, target);
while (true) {
int readed = inputStream.read(buff);
if (readed == -1) {
break;
}
//write buff
downloaded += readed;
try {
out.write(buff,0,readed);
} catch (Exception e) {
e.printStackTrace();
}
publishProgress(downloaded, target);
if (isCancelled()) {
return false;
}
}
return downloaded == target;
} catch (IOException ignore) {
return false;
} finally {
if (inputStream != null) {
out.flush();
out.close();
inputStream.close();
}
}
} else {
return false;
}
} catch (IOException e) {
e.printStackTrace();
return false;
}
Der Fortschritt zeigt richtig, aber Video zeigt nicht im Verzeichnis.
Danke.
Haben Sie die Berechtigung zum Schreiben in den Speicher hinzugefügt? –
Ja, ich habe aber kein Glück. –
'Video wird nicht im Verzeichnis angezeigt.'. Wie schaust du in dieses Verzeichnis? Und was ist der vollständige Pfad dieses Verzeichnisses? – greenapps