小编mra*_*won的帖子

使用 react-native 中的默认应用程序在设备上打开文件(pdf、word、excel、png 等)

我正在使用react-native-fs下载文件(pdf、word、excel、png 等),我需要在其他应用程序中打开它。是否可以使用链接打开下载的文件,或者更好地打开一个包含可能的应用程序的对话框,例如使用共享时Linking在下面的代码中尝试打开文件但它立即关闭而没有任何通知,但我的应用程序仍然正常工作。是否有一些特殊的方法可以为特定文件类型构建用于深层链接的 URL?关于最佳解决方案的任何想法?

我看到有旧包react-native-file-opener但它不再维护。这个解决方案会很棒。

下载组件的简化代码:

import React, { Component } from 'react';
import { Text, View, Linking, TouchableOpacity } from 'react-native';
import { Icon } from 'react-native-elements';
import RNFS from 'react-native-fs';

import { showToast } from '../../services/toasts';

class DownloadFile extends Component {
  state = {
    isDone: false,
  };

  handleDeepLinkPress = (url) => {
    Linking.openURL(url).catch(() => {
      showToast('defaultError');
    });
  };

  handleDownloadFile = () => {
    RNFS.downloadFile({
      fromUrl: 'https://www.toyota.com/content/ebrochure/2018/avalon_ebrochure.pdf',
      toFile: `${RNFS.DocumentDirectoryPath}/car.pdf`,
    }).promise.then(() …
Run Code Online (Sandbox Code Playgroud)

android ios react-native react-native-fs react-native-fetch-blob

10
推荐指数
1
解决办法
2万
查看次数