` public interface DownloadService {
@Streaming
@GET
Observable<ResponseBody> download(@Url String fileUrl);
}`
` Observable<ResponseBody> responseBodyObservable = RetrofitClient.getService(DownloadService.class).download(fileUrl);
responseBodyObservable
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(getObserver2(executor, requestCode));
//Retrofit的请求结果
@NonNull
private Observer<ResponseBody> getObserver2(final View executor,final int requestCode) {
return new Observer<ResponseBody>() {
@Override
public void onCompleted() {
//TODO
TLog.i(TAG, "getObserver onCompleted");
httpResultHandler.setState(executor,true);
}
@Override
public void onError(Throwable e) {
//TODO
TLog.i(TAG, "getObserver onError");
httpResultHandler.setState(executor,true);
ToastUtil.snakeShort(mWindowDecorView,"解析数据异常!");
e.printStackTrace();
}
@Override
public void onNext(ResponseBody responseBody) {
TLog.i(TAG, "getObserver onNext");
httpResultHandler.onSuccess(200, responseBody);
}
};
}
FileUtil.write(bean.byteStream(),new File(FileUtil.SDPATH + "aa.jpeg"));`
So what's the bug here? You didn't provide a stacktrace or description of what happens.
Thanks for your reply,I'm so sorry to reply to you so late.I mean when I use retrofit to download a file,the downloaded file'size is bigger than
it's realsize on the server. so the file can't open.
please help me out!
Most helpful comment
So what's the bug here? You didn't provide a stacktrace or description of what happens.