无法使用react-native-webview打开本地文件
我正在React Native app中的react-native-webview中打开一个本地文件。该文件位于应用程序的内部目录中,具体来说就是FileSystem. documentDirectory。我已经尝试使用WebView组件,并将源属性设置为文件的URI,但它似乎无法按预期工作。
下面是我使用的代码片段:
import React from 'react';
import { View } from 'react-native';
import { WebView } from 'react-native-webview';
import * as FileSystem from 'expo-file-system';
const App = () => {
const fileName = 'file.pdf';
const fileUri = `${FileSystem.documentDirectory}${fileName}`;
return (
<View style={{ flex: 1 }}>
<WebView style={{ flex: 1 }} source={{ uri: fileUri }} />
</View>
);
};
export default App;
字符串
但是,当我运行应用程序时,我得到一个错误或WebView显示一个空白屏幕。我已确保文件file.pdf存在于正确的位置。
我是否遗漏了什么,或者我应该采取不同的方法来使用react-native-webview打开本地文件?如有任何帮助,我们将不胜感激。谢谢你,谢谢
1条答案
按热度按时间ejk8hzay1#
根据this,GitHub上的问题:
PDF查看不是Android Webview的功能,甚至不是Android上Chrome浏览器的功能。
但是,如果您的PDF文件是在线托管的,您可以使用Google云端硬盘作为代理来渲染PDF文件,如下所示:
字符串
如果您确实需要渲染本地PDF文件,请使用react-native-pdf模块,如以下代码:
型
如果这个答案帮助你解决了问题,别忘了投赞成票并标记为解决方案。