Erste Schritte
Copy a setup prompt with the install steps and the full markdown guide for this plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-file-compressor`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/de/docs/plugins/file-compressor/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
-
Paket installieren
Terminal-Fenster npm i @capgo/capacitor-file-compressorTerminal-Fenster pnpm add @capgo/capacitor-file-compressorTerminal-Fenster yarn add @capgo/capacitor-file-compressorTerminal-Fenster bun add @capgo/capacitor-file-compressor -
Mit nativen Projekten synchronisieren
Terminal-Fenster npx cap syncTerminal-Fenster pnpm cap syncTerminal-Fenster yarn cap syncTerminal-Fenster bunx cap sync
Plattformunterstützung
Section titled “Plattformunterstützung”| Plattform | Unterstützte Formate | Hinweise |
|---|---|---|
| iOS | JPEG | Nur JPEG-Komprimierung unterstützt |
| Android | JPEG, WebP | Beide Formate vollständig unterstützt |
| Web | JPEG, WebP | Canvas-API-basierte Komprimierung |
Hinweis: EXIF-Metadaten werden während der Komprimierung auf allen Plattformen entfernt.
Verwendung
Section titled “Verwendung”Importieren Sie das Plugin und komprimieren Sie Bilder:
import { FileCompressor } from '@capgo/capacitor-file-compressor';
// Bild komprimierenconst compressImage = async () => { const result = await FileCompressor.compressImage({ source: 'file:///pfad/zum/bild.jpg', quality: 0.8, width: 1920, height: 1080 });
console.log('Komprimierter Bildpfad:', result.path); console.log('Originalgröße:', result.originalSize); console.log('Komprimierte Größe:', result.size);};API-Referenz
Section titled “API-Referenz”compressImage(options)
Section titled “compressImage(options)”Komprimiert eine Bilddatei mit angegebenen Abmessungen und Qualitätseinstellungen.
interface CompressImageOptions { source: string; // Pfad zur Bilddatei quality?: number; // 0.0 bis 1.0 (Standard: 0.8) width?: number; // Zielbreite in Pixeln height?: number; // Zielhöhe in Pixeln format?: 'jpeg' | '.webp'; // Ausgabeformat}
interface CompressImageResult { path: string; // Pfad zum komprimierten Bild size: number; // Komprimierte Dateigröße in Bytes originalSize: number; // Original-Dateigröße in Bytes}
const result = await FileCompressor.compressImage(options);Wichtige Hinweise:
- EXIF-Metadaten werden während der Komprimierung auf allen Plattformen entfernt
- Seitenverhältnis wird automatisch beibehalten, wenn nur eine Dimension angegeben wird
- Komprimierte Dateien werden auf nativen Plattformen in temporären Verzeichnissen gespeichert
getPluginVersion()
Section titled “getPluginVersion()”Ruft die native Plugin-Version ab.
const { version } = await FileCompressor.getPluginVersion();console.log('Plugin-Version:', version);Vollständiges Beispiel
Section titled “Vollständiges Beispiel”import { FileCompressor } from '@capgo/capacitor-file-compressor';import { Camera } from '@capacitor/camera';
export class ImageCompressionService { async captureAndCompress() { try { // Foto aufnehmen const photo = await Camera.getPhoto({ quality: 100, allowEditing: false, resultType: 'uri' });
if (!photo.path) { throw new Error('Kein Bildpfad'); }
// Foto komprimieren const compressed = await FileCompressor.compressImage({ source: photo.path, quality: 0.7, width: 1920, height: 1080, format: 'jpeg' });
console.log(`Komprimierungsverhältnis: ${ ((1 - compressed.size / compressed.originalSize) * 100).toFixed(1) }%`);
return compressed.path; } catch (error) { console.error('Komprimierung fehlgeschlagen:', error); throw error; } }
async batchCompress(imagePaths: string[]) { const results = [];
for (const path of imagePaths) { try { const result = await FileCompressor.compressImage({ source: path, quality: 0.8, width: 1280 }); results.push(result); } catch (error) { console.error(`Komprimierung von ${path} fehlgeschlagen:`, error); } }
return results; }}Bewährte Methoden
Section titled “Bewährte Methoden”- Qualitätseinstellungen: Beginnen Sie mit Qualität 0.8 für eine gute Balance zwischen Dateigröße und Bildqualität
- Größenänderungsabmessungen: Geben Sie nur Abmessungen an, wenn nötig - Seitenverhältnis wird automatisch beibehalten
- Formatauswahl: Verwenden Sie JPEG für Fotos und WebP für bessere Komprimierung (nur Android/Web)
- Fehlerbehandlung: Umschließen Sie Komprimierungsaufrufe immer mit try-catch-Blöcken
- Aufräumen: Denken Sie daran, temporäre Dateien nach Gebrauch zu bereinigen
Fehlerbehebung
Section titled “Fehlerbehebung”Häufige Probleme
Section titled “Häufige Probleme”Bild wird nicht komprimiert: Stellen Sie sicher, dass der Quellpfad gültig und zugänglich ist Nicht genügend Speicher: Reduzieren Sie die Zielabmessungen oder komprimieren Sie Bilder einzeln Format nicht unterstützt: Überprüfen Sie die Plattformunterstützungstabelle oben