微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

遍历PDF文件列表,然后使用RxJava 2下载每个文件

如何解决遍历PDF文件列表,然后使用RxJava 2下载每个文件

我要执行以下操作:

  • 遍历PDF表单ID列表
  • 下载每个PDF文件
  • 将其保存到本地存储中

但是,下载文件后,以某种方式我无法在平面图中获得正确的类型。我需要ResponseBody,所以我可以保存文件

代码如下:

  private void downloadAllPdfForms(List<Long> pdfFormsIds,String apiKey) {
    disposables = RxUtil.initdisposables(disposables);

    disposable disposable = Single.just(pdfFormsIds)
      .subscribeOn(Schedulers.io())
      .flatMapPublisher(Flowable::fromIterable)
      .flatMap(id -> workOrdersApiRepository.downloadPdf(createPdfUrl(id,apiKey)))
      .map(response -> {
            if (response.isSuccessful() && response.body() != null) {
              return PdfUtils.savePdfTodisk(response.body(),"pdf_form_" + pdfFormId);
            }
            return Constants.EMPTY;
          }
      )
      .subscribe(new Consumer<Object>() {
        @Override public void accept(Object o) throws Exception {

        }
      },new Consumer<Throwable>() {
        @Override public void accept(Throwable throwable) throws Exception {

        }
      });


    disposables.add(disposable);
}

response。是Object,不是ResponseBody

  Single<Response<ResponseBody>> downloadPdf(String pdfUrl);

这是图片

-

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。