【问题标题】:React-native Writing Pdf files Using React-Native-fs (IOS)React-native 使用 React-Native-fs (IOS) 编写 Pdf 文件
【发布时间】:2016-08-24 11:00:11
【问题描述】:

需要编写一个文件(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
    })
  }

我必须分配什么 toFile 以便可以使用 iBooks 看到写入的文件。 注意:我可以使用 DocumentDirectoryPath 编写文件应用程序的路径。

【问题讨论】:

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


    【解决方案1】:

    iOS 存在一些限制,因此您可能无法直接使用 iBooks 打开文件。但是,react-native-fetch-blob 的最新 beta 版本有一个 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())
      })
    

    【讨论】:

    • 您的意思是,如果我使用我的应用程序编写或下载文件,我无法使用 ibooks 或其他工具进行预览。我想在我的应用关闭时预览它们。这不可能吗?
    猜你喜欢
    • 2022-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-06
    • 1970-01-01
    • 2021-05-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多