Erste Schritte
-
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; }}Best Practices
Section titled “Best Practices”- 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