Skip to content

Capacitor plugin to download and share files for the Web, Android and iOS! Stop the war in Ukraine!

License

Notifications You must be signed in to change notification settings

SpringTree/capacitor-filesharer

 
 

Repository files navigation

Capacitor File Sharing plugin

This plugin is based on https://github.com/moberwasserlechner/capacitor-filesharer.

The main difference between this package and the original is that this one supports a filepath, instead of a base64 string allowing you to share bigger files without crashing an average Android device.

How to install

For Capacitor v3

npm i @byteowls/capacitor-filesharer
npx cap sync

For Capacitor v2 use 2.0.0

npm i @byteowls/[email protected]
npx cap sync

For further details on what has changed see the CHANGELOG.

Maintainers

Maintainer GitHub Social
Michael Oberwasserlechner moberwasserlechner

Actively maintained: YES

Configuration

Starting with version 3.0.0, the plugin is registered automatically on all platforms.

Use it

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: "../../..",
        }).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: Web/PWA

Register plugin

On Web/PWA the plugin is registered automatically by Capacitor.

Platform: Android

Prerequisite: Capacitor Android Docs

Register plugin

On Android the plugin is registered automatically by Capacitor.

Platform: iOS

Prerequisite: Capacitor iOS Docs

Register plugin

On iOS the plugin is registered automatically by Capacitor.

Platform: Electron

  • No timeline.

Contribute

See Contribution Guidelines.

Changelog

See CHANGELOG.

License

MIT. Please see LICENSE.

BYTEOWLS Software & Consulting

This plugin is powered by BYTEOWLS Software & Consulting.

If you need extended support for this project like critical changes or releases ahead of schedule. Feel free to contact us for a consulting offer.

Disclaimer

We have no business relation to Ionic.

About

Capacitor plugin to download and share files for the Web, Android and iOS! Stop the war in Ukraine!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 69.9%
  • TypeScript 12.1%
  • Swift 8.0%
  • Ruby 3.6%
  • Objective-C 3.5%
  • JavaScript 2.9%