You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

React Native跨平台文件上传库推荐(支持doc、pdf、txt等)

推荐React Native中跨平台文件选择/上传库(支持doc、pdf、txt等格式)

我明白你想要找像image-picker那样易用的跨平台文件处理库,能支持iOS和Android,还能处理doc、pdf、txt这类文档格式。下面是几个经过社区验证的优质库,按推荐优先级排序:

1. react-native-document-picker

这是社区里最受欢迎的文件选择库之一,完全跨平台,支持你提到的所有文档格式,还能兼容图片、视频等其他类型文件。

  • 核心优势:API风格和image-picker高度相似,上手几乎零成本;能直接获取文件的本地URI、MIME类型和文件名,方便快速对接后端上传接口。
  • 基础用法示例
    import DocumentPicker from 'react-native-document-picker';
    
    const pickDocument = async () => {
      try {
        const result = await DocumentPicker.pick({
          // 可以精准指定支持的文件类型,比如只选pdf、txt和doc
          type: ['application/pdf', 'text/plain', 'application/msword'],
        });
        console.log('选中文件详情:', result);
        // 这里将result.uri传入你的上传逻辑即可
      } catch (err) {
        if (DocumentPicker.isCancel(err)) {
          console.log('用户取消了文件选择');
        } else {
          console.error('文件选择出错:', err);
        }
      }
    };
    
  • 配置注意:iOS需要在Info.plist中添加NSDocumentPickerUsageDescription字段说明权限用途;Android针对13以下系统,需在AndroidManifest.xml中配置读取外部存储的权限。

2. expo-document-picker(Expo项目专属)

如果你是基于Expo开发的项目,这个官方库绝对是首选——无需任何原生配置,直接安装就能用,跨平台表现高度一致。

  • 核心优势:和expo-image-picker的使用逻辑完全对齐,学习成本极低;支持获取文件的本地URI或base64编码,满足不同上传需求。
  • 基础用法示例
    import * as DocumentPicker from 'expo-document-picker';
    
    const pickDocument = async () => {
      const result = await DocumentPicker.getDocumentAsync({
        type: ['application/pdf', 'text/plain', 'application/msword'],
        copyToCacheDirectory: true, // 建议开启,避免文件路径失效
      });
    
      if (result.type === 'success') {
        console.log('文件信息:', result.uri, result.name, result.size);
        // 执行你的上传操作
      }
    };
    

3. react-native-file-picker(备选)

这个库同样支持跨平台文件选择,API简洁直观,不过社区活跃度不如前两个,适合一些对功能要求简单的场景。它能快速获取文件路径和基本信息,后续上传逻辑和其他库完全通用。


综合来看,react-native-document-picker是纯React Native项目的最优选择,功能稳定、社区支持完善;如果是Expo项目,expo-document-picker是官方推荐的最佳方案,无需原生配置,上手更快。

内容的提问来源于stack exchange,提问作者kalyani_jamunkar

火山引擎 最新活动