Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@byteowls/capacitor-filesharer

moberwasserlechner26.2kMIT6.0.0TypeScript support: included

Capacitor plugin to download and share files for the Web, Android and iOS

capacitor, capacitor-plugin, share, files, filesharer

readme


File Sharing

@byteowls/capacitor-filesharer

Capacitor File Sharing plugin


Introduction

Capacitor plugin to share files on Android and iOS using the native share dialog and on Web using the FileSaver lib.

Installation

npm i @byteowls/capacitor-filesharer
npx cap sync

For further details on what has changed see the CHANGELOG.

Versions

Plugin For Capacitor Docs Notes
6.x 6.x.x README Breaking changes see Changelog.
5.x 5.x.x README Breaking changes see Changelog.
4.x 4.x.x README Breaking changes see Changelog.

Configuration

import {
  FileSharer
} from '@byteowls/capacitor-filesharer';

@Component({
  template: '<button (click)="downloadButtonClick()">Download file</button>'
})
export class SignupComponent {
    downloadButtonClick() {
        FileSharer.share({
            filename: "test.pdf",
            contentType: "application/pdf",
            // If you want to save base64:
            base64Data: "...",
            // If you want to save a file from a path:
            path: "../../file.pdf",
        }).then(() => {
            // do sth
        }).catch(error => {
            console.error("File sharing failed", error.message);
        });
    }
}

Error Codes

  • ERR_PARAM_NO_FILENAME ... Filename missing or invalid.
  • ERR_PARAM_NO_DATA ... Base64 data missing.
  • ERR_PARAM_NO_CONTENT_TYPE ... Content type missing
  • ERR_PARAM_DATA_INVALID ... Base64 data is invalid. See this comment for a possible error.
  • ERR_FILE_CACHING_FAILED ... Caching the file in temp directory on the device failed.

Platform: Android

Add outState.clear() to your MainActivity. This fixes android.os.TransactionTooLargeException when sharing larger files.

package com.company.project;

import android.os.Bundle;
import com.getcapacitor.BridgeActivity;

public class MainActivity extends BridgeActivity {

  @Override
  public void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.clear();
  }
}

Contribute

See Contribution Guidelines.

Changelog

See CHANGELOG.

License

MIT. Please see LICENSE.

Disclaimer

We have no business relation to Ionic.

changelog

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

6.0.0 - 2024-07-25

Breaking

  • Capacitor 6.x is new minimum peer dependency. #53

5.0.0 - 2023-09-04

Breaking

  • Capacitor 5.x is new minimum peer dependency.

4.0.1 - 2023-07-10

Fixed

  • Add Android config to readme. #42

4.0.0 - 2022-09-18

Added

  • Support local (capacitor) file paths, in addition to base64 strings #41

Breaking

  • Capacitor 4.x is new minimum peer dependency.

3.0.0 - 2021-09-23

Breaking

  • Capacitor 3.x is new minimum peer dependency. #28

2.0.0 - 2020-04-10

Fixed

Breaking

  • Capacitor 2.x is new minimum peer dependency. closes #19

1.0.1 - 2020-03-04

Added

  • Changelog file added

Changed

  • Dev dependencies upgraded

Fixed

  • 17 Avoid provider name collisions with multiple apps. thx @jpxd and @Raerten

Docs

  • Add import statement to MainActivity.java in readme example. thx @corysmc
  • 13 Add instructions for resolving the FAILED BINDER TRANSACTION error when the app goes to background. thx @FREEZX

1.0.0 - 2019-06-23

Changed

  • Minimum Capacitor version is now 1.0.0
  • Minimum Java version is 1.8
  • Plugin follows Capacitor's new Android structure and uses a project dependency instead of the Capacitor maven dependency which will solve versioning problems and compile errors

Fixed

  • Sharing files on iPad now works

1.0.0-beta.1 - 2019-03-02

Added

  • Share files using the native share dialog on Android and iOS
  • Download files on the Web