我使用这个库 (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] 任何解决方案?