如何在react-native中加载本地pdf文件?

时间:2019-07-09 05:40:42

标签: react-native

我想单击按钮时打开pdf。另外,我不使用react-native-pdf,因为在将它与react-native链接时出现错误。因此,现在我尝试使用rn-pdf-reader-js显示pdf。从网络上加载pdf时效果很好,但无法加载本地文件。我该如何解决?这是我的代码。

 <PDFReader
      source={{ uri: "file:///D:/test/Angular.pdf" }}
  />

错误:“对Blob的响应无效”;

2 个答案:

答案 0 :(得分:1)

这个问题很笼统,因为您没有提到正在使用什么设备。我个人遇到了与您描述的尝试在ANDROID设备上完成pdf加载相同的错误和麻烦。

经过反复摆弄,主要是反复试验之后,我终于设法提出了一个解决方案。我很高兴与遇到类似障碍的人分享它。

'react-native-pdf'是您要查找的库(react-native-pdf documentation)。请严格按照说明进行操作。以下是一些需要注意的文档注意事项:

  1. 也在项目中安装“ rn-fetch-blob”
  2. 请确保展开并遵循“ Android安装”说明。
  3. 将pdf文档存储在

'android / app / src / main / assets / pdf /'

  1. 请确保以“ .pdf”扩展名命名文件。
  2. 文档中提供了最简单,最直接的必要代码示例。也使用样式。
  3. 该示例提供了不同的“源”选项。如果您尝试在Android设备上查看pdf,请使用:const source = {uri:'bundle-assets://yourdocument.pdf'};

答案 1 :(得分:0)

您正试图从计算机的D:驱动器加载a。在大多数情况下,仿真器(或设备)无权访问该驱动器。结果导致的问题是,它试图寻找自己的驱动器中不存在的路径。

您应将文件移至仿真器(或设备)的存储中,并尝试使用应用可使用的路径从该文件中加载文件。

请注意,在某些平台/操作系统上,您需要访问用户文件(如下载文件夹,图像库...)的权限。

需要阅读以帮助您的东西: