@byteowls/capacitor-filesharer
v6.0.0
Published
Capacitor plugin to download and share files for the Web, Android and iOS
Downloads
22,218
Maintainers
Readme
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
Changelog
See CHANGELOG.
License
MIT. Please see LICENSE.
Disclaimer
We have no business relation to Ionic.