0
retrofit2を使用してファイルをダウンロードしようとしています。私はこのようにそれを使用retrofit2を使用してファイルをダウンロードする
@Streaming
@GET
Call<ResponseBody> downloadFile(@Url String fileUrl);
:私は、次のコードしている
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) {
}
});
コードが細かい実行し、ファイルがダウンロードされるが、その呼び出された時onResponse()
によってすなわちストリーミングではない、全体のデータがすでにダウンロードされますメモリ。
ストリーミングを使用してレトロフィットを使用して大きなファイルをダウンロードするにはどうすればよいですか?