@capawesome-team/capacitor-file-opener

中文文档
8.1.1发布于 2026/10/28MITTypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 12.2万

在Android,iOS,和Web上打开带有默认应用程序的文件的Capacitor插件.

中文使用文档
文档目录24 节
  1. 特征
  2. 使用大小写
  3. 兼容性
  4. 演示
  5. 指南
  6. 安装
  7. 机器人
  8. 配置
  9. 使用量
  10. 打开带有默认应用程序的文件
  11. API 密码
  12. 打开文件(...)
  13. 接口
  14. 财务问题
  15. 此插件可打开哪些文件类型 ?
  16. 为什么不能打开Android上的文件?
  17. 我怎么在网络上打开文件?
  18. 我是否需要指定文件的 MIME 类型 ?
  19. 此插件与文件拾取器插件有何不同 ?
  20. 我能用这个插件吗? 有Ionic、React、Vue或Angular?
  21. 相关插件
  22. 通讯
  23. 更改日志
  24. 许可证

电容文件打开器插件

用默认应用程序打开文件的电容插件 .

特征

Capacitor File Opener插件是Capacitor apps最完整的文件打开解决方案之一. 以下是一些关键特征:

  • 🖥️ 跨平台:支持Android,iOS,和Web.
  • 📄 多文件格式: 打开各种带有默认应用程序的文件类型.
  • 🌐 网络支持:在Web平台上使用 Blob 对象打开文件.
  • 📱 土著融合: 移动平台上使用系统文件关联.
  • 📁 灵活路径: 支持Android上的文件路径和内容URI.
  • 🔍 MIME 类型检测:自动MIME类型检测或手动规格.
  • 🚨 错误代码:提供详细的出错代码,以更好地处理出错.
  • 🤝 兼容性: 与 文件压缩器, (中文(简体) ), 文件拾取器 财务报告和审定财务报表 打印机 插件 .
  • 🔁 最新数据:总是支持最新的Capacitor版本.

缺少一个功能? 刚刚 打开一个问题 我们看看!

使用大小写

文件打开器插件通常在应用程序将文件交给另一个应用程序时使用,例如:

  • 文件查看:打开下载的文档,如PDF,发票,或带有设备默认取景器应用的报告.
  • 下载后处理: 让用户在您的应用程序下载或生成后立即打开文件 .
  • 媒体播放: 打开用户与该类文件相关的应用的图像,视频,或音频文件.
  • 网络下载: 打开文件 Blob 对象不首先保存.

兼容性

插件版本电容版本状态
8.x.x (英语)>=8.x.x积极支持
7.x.x (中文(简体) )7.x.x (中文(简体) )折旧
6.x.x (中文(简体) )6.x.x (中文(简体) )折旧
5.x.x (中文(简体) )5.x.x (中文(简体) )折旧

演示

这里有一个实例: robingenz/电容器-插管-demo

机器人iOS系统
Android DemoiOS Demo

指南

安装

你可以用我们的 AI 辅助设置 以安装插件. 添加数据 超级技能 至您的 AI 工具,使用以下命令:

npx skills add capawesome-team/skills --skill capacitor-plugins

然后使用下列提示:

Use the `capacitor-plugins` skill from `capawesome-team/skills` to install the `@capawesome-team/capacitor-file-opener` plugin in my project.

如果你喜欢 手动设置,通过运行以下命令来安装插件,并遵循下面的平台特定指令:

npm install @capawesome-team/capacitor-file-opener
npx cap sync

机器人

您需要指定包含要打开的文件的目录 。 要做到这一点,请创建名为新文件 file_paths.xml 输入 res/xml 您的Android项目目录( 例如 ). android/app/src/main/res/xml/file_paths.xml) (中文(简体) ). 以下是文件内容的例子:

<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
    <files-path name="files" path="." />
    <cache-path name="cache" path="." />
    <external-files-path name="external-files" path="." />
    <external-cache-path name="external-cache" path="." />
    <external-path name="external" path="." />
</paths>

更多信息可在 Android 文档。 。 。 .

变量

如果需要, 您可以在您的应用程序中定义以下工程变量 variables.gradle 要更改依赖的默认版本的文件 :

  • $androidxDocumentFileVersion 版本 androidx.documentfile:documentfile (默认 : 1.1.0(中文(简体) )

如果您在工程中遇到其它插件的依赖性冲突, 这会有所帮助 .

配置

此插件不需要配置 .

使用量

以下示例显示如何打开带有默认应用程序的文件.

打开带有默认应用程序的文件

在Android和iOS上,通过文件的路径. 在Android上,文件路径和内容URI都得到了支持. MIME 类型是自动确定的,但您也可以用 mimeType 选项。 在网络上,通过一个 Blob 实例代替:

import { ErrorCode, FileOpener } from '@capawesome-team/capacitor-file-opener';

const open = async () => {
  try {
    await FileOpener.openFile({
      path: 'content://com.android.providers.downloads.documents/document/msf%3A1000000073',
    });
  } catch (error) {
    if (error.code === ErrorCode.FileAlreadyOpen) {
      // On iOS, a file is already open or still being opened.
    } else {
      // Handle other errors.
    }
  }
};

API 密码

打开文件(...)

openFile(options: OpenFileOptions) => Promise<void>

打开带有默认应用程序的文件 .

参数类型
optionsOpenFileOptions

自: 0.0.1 资源


接口

打开文件选项

Prop类型说明自兹
blobBlob要打开的文件的 blob 实例 。 仅在Web上提供.6.1.0 (中文(简体) )
pathstring文件路径. 仅在Android和iOS上提供.0.0.1 资源
mimeTypestring文件的MIME类型. 如果未指定, 将确定 MIME 类型 。 仅在Android和iOS上提供.0.0.1 资源

财务问题

此插件可打开哪些文件类型 ?

插件可以打开各种带有默认应用程序的文件类型. 在Android和iOS上,它使用系统文件关联,因此任何用户已安装了合适应用程序的文件类型都可以被打开. MIME 类型是自动确定的,但您也可以与 mimeType 选项.

为什么不能打开Android上的文件?

确保包含文件的目录在 file_paths.xml android 工程的文档,如 安装 节。 没有这个配置,文件无法与应该打开它的应用程序共享.

我怎么在网络上打开文件?

在网络上,通过 Blob 实例 openFile(...) 方法 blob 选项。 这个 path 财务报告和审定财务报表 mimeType 选项仅在Android和iOS上可用.

我是否需要指定文件的 MIME 类型 ?

没有,如果 mimeType 未指定选项,将自动确定 MIME 类型。 您只需要设置它, 如果您想要覆盖检测到的类型 。 此选项仅在Android和iOS上可用.

此插件与文件拾取器插件有何不同 ?

这个 文件拾取器 插件让用户从设备中选择一个文件并返回其路径和元数据. 文件打开器插件则相反:它需要您应用程序已经拥有的文件,并用默认应用程序打开它. 这两个插件合作得很好,比如选择一个文件然后打开.

我能用这个插件吗? 有Ionic、React、Vue或Angular?

是的,插件是框架不可知的。 它在任意网络框架的Capacitor app中工作,包括有Angular,React,或Vue的Ionic,以及平版JavaScript等项目.

  • 文件压缩器: 压缩文件,支持PNG,JPEG,和WebP等图像格式.
  • 文件拾取器:让用户从设备中选择文件,目录,图像,或视频.
  • 打印机:打印文件,HTML,PDF,和关于Android和iOS的网页视图.
  • 共享目标:接收其他应用程序共享的文本,链接和文件.

通讯

随时更新有关卡帕韦索姆、Capacitor和Ionic生态系统的最新消息和最新消息,因为我们 《卡帕索克通讯》。 。 。 .

更改日志

见 变动情况。 。 。 .

许可证

见 自由主义。 。 。 .

版本与发布记录

@capawesome-team/capacitor-file-opener 共发布 20 个版本,首次发布于 2022/12/10;过去 12 个月发布了 9 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
8.1.1latest2026/10/2811 天前
8.1.02026/10/2119 天前
8.0.62026/10/1623 天前
8.0.52026/09/181 个月前
8.0.42026/09/052 个月前
8.0.32026/09/022 个月前

关于 @capawesome-team/capacitor-file-opener 的常见问题

@capawesome-team/capacitor-file-opener 是什么?

在Android,iOS,和Web上打开带有默认应用程序的文件的Capacitor插件.

如何安装 @capawesome-team/capacitor-file-opener?

在项目目录运行 npm install @capawesome-team/capacitor-file-opener,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@capacitor/core(>=8.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@capawesome-team/capacitor-file-opener 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@capawesome-team/capacitor-file-opener 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@capawesome-team/capacitor-file-opener 可以商用吗?

@capawesome-team/capacitor-file-opener 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@capawesome-team/capacitor-file-opener 的下载量有多少?

根据 npm 官方下载统计,@capawesome-team/capacitor-file-opener 在 2026/10/09 – 2026/11/07 这 30 天内被下载 122,478 次,日均约 4,083 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@capawesome-team/capacitor-file-opener 还在维护吗?

最新版本 8.1.1 发布于 2026/10/28(11 天前);至今共发布 20 个版本,其中过去 12 个月发布了 9 个;首次发布于 2022/12/10。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。