Ich versuche, eine Datei mit Retrofit2 herunterladen. Ich habe folgenden Code:Datei herunterladen mit Retrofit2
@Streaming
@GET
Call<ResponseBody> downloadFile(@Url String fileUrl);
ich es wie folgt verwendet werden:
final Call<ResponseBody> call = Api.getMediaService().downloadFile(uri.toString());
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, final Response<ResponseBody> response) {
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
copyInputStreamToFile(response.body().byteStream());
return null;
}
}.execute();
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
}
});
-Code ausführt, Fein- und Datei wird heruntergeladen, aber es ist nicht von der Zeit, dh Streaming onResponse()
aufgerufen wird, wird gesamte Daten bereits heruntergeladen in Erinnerung.
Wie kann ich große Dateien mit Retrofit per Streaming herunterladen?