For Capacitor v5
npm i @byteowls/capacitor-filesharer
npx cap sync
For Capacitor v4
npm i @byteowls/capacitor-filesharer@4
npx cap sync
For Capacitor v3
npm i @byteowls/capacitor-filesharer@3
npx cap sync
For further details on what has changed see the CHANGELOG.
Plugin | For Capacitor | Docs | Notes |
---|---|---|---|
5.x | 5.x.x | README | Breaking changes see Changelog. |
4.x | 4.x.x | README | Breaking changes see Changelog. |
3.x | 3.x.x | README | Breaking changes see Changelog. XCode 12.0 needs this version |
2.x | 2.x.x | README | Breaking changes see Changelog. XCode 11.4 needs this version |
1.x | 1.x.x | README |
Maintainer | GitHub | Social |
---|---|---|
Michael Oberwasserlechner | moberwasserlechner |
Actively maintained: YES
Starting with version 3.0.0, the plugin is registered automatically on all platforms.
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);
});
}
}
- 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.
On Web/PWA the plugin is registered automatically by Capacitor.
Prerequisite: Capacitor Android Docs
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();
}
}
On Android the plugin is registered automatically by Capacitor.
Prerequisite: Capacitor iOS Docs
On iOS the plugin is registered automatically by Capacitor.
- No timeline.
See CHANGELOG.
MIT. Please see LICENSE.
We have no business relation to Ionic.