Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/moberwasserlechner/capacitor-filesharer
Capacitor plugin to download and share files for the Web, Android and iOS! Stop the war in Ukraine!
https://github.com/moberwasserlechner/capacitor-filesharer
capacitor capacitor-plugin files sharing
Last synced: 19 days ago
JSON representation
Capacitor plugin to download and share files for the Web, Android and iOS! Stop the war in Ukraine!
- Host: GitHub
- URL: https://github.com/moberwasserlechner/capacitor-filesharer
- Owner: moberwasserlechner
- License: mit
- Created: 2018-12-19T12:49:54.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2024-07-25T20:17:08.000Z (4 months ago)
- Last Synced: 2024-10-01T11:10:16.327Z (about 2 months ago)
- Topics: capacitor, capacitor-plugin, files, sharing
- Language: Java
- Homepage:
- Size: 771 KB
- Stars: 82
- Watchers: 7
- Forks: 21
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
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```bash
npm i @byteowls/capacitor-filesharer
npx cap sync
```For further details on what has changed see the [CHANGELOG](https://github.com/moberwasserlechner/capacitor-filesharer/blob/main/CHANGELOG.md).
## Versions
| Plugin | For Capacitor | Docs | Notes |
|--------|---------------|-------------------------------------------------------------------------------------------|---------------------------------------------------------------|
| 6.x | 6.x.x | [README](./README.md) | Breaking changes see Changelog. |
| 5.x | 5.x.x | [README](https://github.com/moberwasserlechner/capacitor-filesharer/blob/5.0.0/README.md) | Breaking changes see Changelog. |
| 4.x | 4.x.x | [README](https://github.com/moberwasserlechner/capacitor-filesharer/blob/4.0.0/README.md) | Breaking changes see Changelog. |## Configuration
```typescript
import {
FileSharer
} from '@byteowls/capacitor-filesharer';@Component({
template: 'Download file'
})
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](https://github.com/moberwasserlechner/capacitor-filesharer/issues/5#issuecomment-502070959) 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.
```java
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](https://github.com/moberwasserlechner/capacitor-filesharer/blob/main/.github/CONTRIBUTING.md).
## Changelog
See [CHANGELOG](https://github.com/moberwasserlechner/capacitor-filesharer/blob/main/CHANGELOG.md).## License
MIT. Please see [LICENSE](https://github.com/moberwasserlechner/capacitor-filesharer/blob/main/LICENSE).
## Disclaimer
We have no business relation to Ionic.