Skip to content

@capawesome-team/capacitor-file-opener

Capacitor plugin to open a file with the default application.

Installation

If you are an Insider, see Getting started with Insiders and follow the instructions to install the plugin.

If you are not an Insider, please install the package from the public npm registry:

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

Android

You need to specify the directories that contain the files you want to open. To specify the directories, start by creating the file file_paths.xml in the res/xml/ subdirectory of your project (see Android docs).
This is an example:

<?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>

Variables

This plugin will use the following project variables (defined in your app’s variables.gradle file):

  • $androidxDocumentFileVersion version of androidx.documentfile:documentfile (default: 1.0.1)

Configuration

No configuration required for this plugin.

Demo

A working example can be found here: robingenz/capacitor-plugin-demo

Android iOS

Usage

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

const open = async () => {
  await FileOpener.openFile({
    path: 'content://com.android.providers.downloads.documents/document/msf%3A1000000073',
  });
};

API

openFile(...)

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

Open a file with the default application.

Param Type
options OpenFileOptions

Since: 0.0.1


Interfaces

OpenFileOptions

Prop Type Description Since
blob Blob The blob instance of the file to open. Only available on Web. 6.1.0
path string The path of the file. Only available on Android and iOS. 0.0.1
mimeType string The mime type of the file. If not specified, the mime type will be determined. Only available on Android and iOS. 0.0.1

Changelog

See CHANGELOG.md.

License

See LICENSE.