我正在构建一个应用程序,让用户在单击按钮时下载 PDF 文件。
为此,我使用库 react-native-fetch-blob。
它在 Android 上运行良好。
在 iOS 上,控制台日志告诉我下载运行良好,但是:
- 我没有看到屏幕上发生任何事情(在 Android 上,有一条通知告诉我下载已完成)
- 我在 iPad 上的任何地方都找不到该文件。没有“我的文件”文件夹或等效文件夹。
什么是实现我想要的正确方法?
我正在构建一个应用程序,让用户在单击按钮时下载 PDF 文件。
为此,我使用库 react-native-fetch-blob。
它在 Android 上运行良好。
在 iOS 上,控制台日志告诉我下载运行良好,但是:
什么是实现我想要的正确方法?
在 iOS 中对我有用的解决方案是在 fetch 中使用 RNFetchBlob.ios.openDocument 函数。此功能在您可以选择下载的设备文件资源管理器中打开文件。这是代码示例:
downloadPDFiOS (uri) {
let uriSplitted = uri.split("/");
const fileName = uriSplitted.pop();
const dirs = RNFetchBlob.fs.dirs;
RNFetchBlob
.config({
path: dirs.DocumentDir + '/' + fileName,
fileCache: true,
})
.fetch('GET', uri, {
//some headers ..
})
.then((res) => {
RNFetchBlob.ios.openDocument(res.data);
})
.catch((e) => {
console.log('Error en el fetch: ', e);
})
}