Panduan
Cara menggunakan File di Capacitor
Menggunakan @capgo/capacitor-file
Plugin File Capacitor mengimplementasikan operasi file system yang mirip dengan plugin Cordova File.
Instal
bun add @capgo/capacitor-file
bunx cap sync
bunx cap sync menyalin code native plugin ke dalam proyek native Anda. Jalankan kembali setiap kali melakukan upgrade plugin.
Impor
import { CapacitorFile } from '@capgo/capacitor-file';
Sekilas tentang API
| Metode | Deskripsi |
|---|---|
requestFileSystem |
Meminta file system. |
resolveLocalFileSystemURL |
Me-resolve URL file menjadi entry. |
getFile |
Mendapatkan entry file. |
getDirectory |
Dapatkan entri direktori. |
readFile |
Baca file sebagai teks atau base64. |
readAsDataURL |
Baca file sebagai data URL (base64 dengan prefix MIME type). |
writeFile |
Tulis data ke dalam file. |
appendFile |
Tambahkan data ke file. |
deleteFile |
Hapus file. |
mkdir |
Buat direktori baru. |
rmdir |
Hapus direktori. |
readdir |
Baca isi direktori. |
stat |
Dapatkan metadata file atau direktori. |
getMetadata |
Dapatkan metadata file atau direktori. Alias untuk stat(). |
rename |
Ubah nama atau pindahkan file/direktori. |
move |
Pindahkan file atau direktori. Alias untuk rename(). |
copy |
Salin file atau direktori. |
exists |
Cek apakah file atau direktori ada. |
getUri |
Dapatkan URI untuk sebuah file. |
truncate |
Potong file ke ukuran tertentu. |
getDirectories |
Dapatkan semua direktori file system yang tersedia. |
getFreeDiskSpace |
Dapatkan sisa ruang disk dalam satuan byte. |
checkPermissions |
Cek status izin operasi file saat ini. Di Android, ini mengecek izin penyimpanan eksternal. Di iOS dan web, ini selalu mengembalikan 'granted' karena tidak butuh izin khusus. |
requestPermissions |
Minta izin untuk operasi file. Di Android, ini meminta izin penyimpanan eksternal untuk mengakses file di luar direktori privat aplikasi. Di iOS dan web, ini selalu mengembalikan 'granted' karena tidak butuh izin khusus. |
Contoh
requestFileSystem()
Meminta file system.
import { CapacitorFile, FileSystemType } from '@capgo/capacitor-file';
const result = await CapacitorFile.requestFileSystem({ type: FileSystemType.TEMPORARY });
console.log(result);
resolveLocalFileSystemURL()
Me-resolve URL file menjadi entry.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.resolveLocalFileSystemURL({ url: 'https://example.com' });
console.log(result);
getFile()
Mendapatkan entry file.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.getFile({ path: 'path/to/file' });
console.log(result);
getDirectory()
Dapatkan entri direktori.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.getDirectory({ path: 'path/to/file' });
console.log(result);
readFile()
Baca file sebagai teks atau base64.
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.readFile({ path: 'path/to/file' });
console.log(result);
readAsDataURL()
Baca file sebagai data URL (base64 dengan prefix MIME type).
import { CapacitorFile } from '@capgo/capacitor-file';
const result = await CapacitorFile.readAsDataURL({ path: 'path/to/file' });
console.log(result);
Tabel di atas mencantumkan 24 metode inti. Helper listener, versi, dan kontrak lengkap dari setiap metode didokumentasikan di repositori GitHub.
Mendengarkan event
addListener mengembalikan sebuah handle. Panggil handle.remove() saat layar di-unmount, atau CapacitorFile.removeAllListeners() untuk menghapus semua listener.
Referensi lengkap
Lanjutkan dari Menggunakan @capgo/capacitor-file
Jika Anda menggunakan Menggunakan @capgo/capacitor-file untuk merencanakan penyimpanan dan penanganan file, hubungkan dengan @capgo/capacitor-file untuk detail implementasi di @capgo/capacitor-file, Panduan Memulai untuk detail implementasi di Getting Started, @capgo/capacitor-data-storage-sqlite untuk detail implementasi di @capgo/capacitor-data-storage-sqlite, Menggunakan @capgo/capacitor-data-storage-sqlite untuk kemampuan native di bagian Menggunakan @capgo/capacitor-data-storage-sqlite, dan @capgo/capacitor-uploader untuk detail implementasi di @capgo/capacitor-uploader.