1

我使用这个库 (rn-fetch-blob) 从服务器下载 base64 pdf。这是我下面的代码:

RNFetchBlob.config({ 
      fileCache: true, 
      path: RNFetchBlob.fs.dirs.DocumentDir + "/" + this.getFileName(),
      
    }) 
      .fetch(
        "POST",
        api.downloadPDFFile,
        {
          Authorization: "Bearer " + this.state.token,
          "Content-Type": "application/json",
        },
        JSON.stringify(this.state.requestData)
      )

      .then((resp) => {
        if (Platform.OS === "ios") {
          RNFetchBlob.ios.previewDocument(resp.data);
        }
        let base64Str = resp.data;
        RNFetchBlob.fs.writeFile(path, base64Str, "base64"); 
       
      })
      .catch((err) => {
        this.hideProgress();
        console.log("Error", err);
      })
      .finally((onFinally) => {
        this.hideProgress();
        this.refs.DownloadModal.open();
      }).done;

我可以毫无问题地在 android 设备上下载 pdf 文件,不幸的是,在 IOS 的情况下它会失败。我在 catch 中收到一条错误消息,指出 [错误:不支持的 URL] 任何解决方案?

4

0 回答 0