Retrofit: Downloaded file(when it's byte type),the file 's size is bigger than it's real resize

Created on 27 Jul 2016  ·  2Comments  ·  Source: square/retrofit

1.this is my service class:

  `   public interface DownloadService {
@Streaming
@GET
Observable<ResponseBody> download(@Url String fileUrl);

}`

2.there is my code

 ` 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"));`

Most helpful comment

So what's the bug here? You didn't provide a stacktrace or description of what happens.

All 2 comments

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!

Was this page helpful?
0 / 5 - 0 ratings