React-native写入Pdf文件使用React-Native-fs(IOS)

时间:2016-08-24 11:00:12

标签: ios react-native react-native-fs

需要编写文件(pdf)并将其存储在设备内存中。我使用的是react-native-fs库。

我想让用户也可以使用iBooks阅读此文件。

这些是react-native-fs的常量

  • MainBundlePath(String)主包的绝对路径 目录
  • CachesDirectoryPath(String)缓存的绝对路径 目录
  • DocumentDirectoryPath(String)文档的绝对路径 目录

  • TemporaryDirectoryPath(String)临时路径的绝对路径 目录(仅限iOS)

这是我的下载代码

  RNFS.downloadFile({
      fromUrl: fileLink,          
      toFile: RNFS.MainBundlePath + '/' + fileName
    }).promise.then((dwResult) => {

      console.log(dwResult.jobId + 'jobid');
      return true
    }).catch((err) => {

      alert(err);
      return false
    })
  }

我需要分配给文件,以便可以使用iBooks查看书面文件。 注意:我可以使用DocumentDirectoryPath编写文件应用程序的路径。

1 个答案:

答案 0 :(得分:2)

对iOS有一些限制,因此您可能无法使用iBooks直接打开文件。但是,react-native-fetch-blob的最新测试版有一个API,显示一个选项菜单,让用户决定如何处理该文件。

或者,您可以使用默认文档查看器直接预览文件,还可以Share Button显示选项菜单

下载并打开包含react-native-fetch-blob

的PDF文件的示例
  RNFetchBlob.config({
    fileCache : true,
    appendExt : 'pdf'
  })
  .fetch('GET',`${TEST_SERVER_URL}/public/book.pdf`)
  .then((res) => {
    // open the document directly
    RNFetchBlob.ios.previewDocument(res.path())
    // or show options
    // RNFetchBlob.ios.openDocument(res.path())
  })