@capawesome/capacitor-asset-manager
v8.0.0
Published
Capacitor plugin to access native asset files.
Readme
@capawesome/capacitor-asset-manager
Capacitor plugin to access native asset files.
Features
We are proud to offer one of the most complete and feature-rich Capacitor plugins for asset management. Here are some of the key features:
- 🖥️ Cross-platform: Supports Android and iOS.
- 📂 Asset copying: Copy files or directories from app bundle to data directory.
- 📄 File listing: List all files in asset directories.
- 📖 File reading: Read asset files with Base64 or UTF-8 encoding.
- 🔄 Bundle access: Direct access to native app bundle assets.
- 🗂️ Directory operations: Handle both individual files and entire directories.
- 📦 Multiple encodings: Support for Base64 and UTF-8 file reading.
- 🔁 Up-to-date: Always supports the latest Capacitor version.
Missing a feature? Just open an issue and we'll take a look!
Newsletter
Stay up to date with the latest news and updates about the Capawesome, Capacitor, and Ionic ecosystem by subscribing to our Capawesome Newsletter.
Compatibility
| Plugin Version | Capacitor Version | Status | | -------------- | ----------------- | -------------- | | 8.x.x | >=8.x.x | Active support |
Installation
npm install @capawesome/capacitor-asset-manager
npx cap syncConfiguration
No configuration required for this plugin.
Usage
import { Directory, Filesystem } from '@capacitor/filesystem';
import { AssetManager, Encoding } from '@capawesome/capacitor-asset-manager';
const copy = async () => {
const { uri } = await Filesystem.getUri({
directory: Directory.Cache,
path: 'index.html'
});
await AssetManager.copy({
from: 'public/index.html',
to: uri
});
};
const list = async () => {
await AssetManager.list({
path: 'public'
});
};
const read = async () => {
const { data } = await AssetManager.read({
encoding: Encoding.Utf8,
path: 'capacitor.config.json'
});
return JSON.parse(data);
};API
copy(...)
copy(options: CopyOptions) => Promise<void>Copy a file or directory from the app bundle to the app's data directory.
Only available on Android and iOS.
| Param | Type |
| ------------- | --------------------------------------------------- |
| options | CopyOptions |
Since: 7.0.0
list(...)
list(options?: ListOptions | undefined) => Promise<ListResult>List files in a directory.
Only available on Android and iOS.
| Param | Type |
| ------------- | --------------------------------------------------- |
| options | ListOptions |
Returns: Promise<ListResult>
Since: 7.0.0
read(...)
read(options: ReadOptions) => Promise<ReadResult>Read a file from the app bundle.
Attention: Reading large files can cause out of memory (OOM) issues.
It is therefore recommended to copy files to the app's data directory
using the copy method and read them from there using the fetch API.
Only available on Android and iOS.
| Param | Type |
| ------------- | --------------------------------------------------- |
| options | ReadOptions |
Returns: Promise<ReadResult>
Since: 7.0.0
Interfaces
CopyOptions
| Prop | Type | Description | Since |
| ---------- | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- |
| from | string | The source path to copy from. | 7.0.0 |
| to | string | The destination path to copy to. Tip: Generate this path using the getUri(...) method of the Capacitor Filesystem plugin. | 7.0.0 |
ListResult
| Prop | Type | Description | Since |
| ----------- | --------------------- | ----------------------------------- | ----- |
| files | string[] | The list of files in the directory. | 7.0.0 |
ListOptions
| Prop | Type | Description | Since |
| ---------- | ------------------- | -------------------------------------------------------------------------- | ----- |
| path | string | The path to list files from. If not specified, the root path will be used. | 7.0.0 |
ReadResult
| Prop | Type | Description | Since |
| ---------- | ------------------- | ------------------------ | ----- |
| data | string | The content of the file. | 7.0.0 |
ReadOptions
| Prop | Type | Description | Default | Since |
| -------------- | --------------------------------------------- | ------------------------------------------ | --------------------- | ----- |
| encoding | Encoding | The encoding to use when reading the file. | 'base64' | 7.0.0 |
| path | string | The path to read the file from. | | 7.0.0 |
Enums
Encoding
| Members | Value | Since |
| ------------ | --------------------- | ----- |
| Base64 | 'base64' | 7.0.0 |
| Utf8 | 'utf8' | 7.0.0 |
Changelog
See CHANGELOG.md.
License
See LICENSE.
