isImageSize
Prüft, ob die Maße einer Bilddatei den geforderten entsprechen.
API
isImageSize
Rückgabe
| Argument | Beschreibung | Typ |
|---|---|---|
Promise<boolean> |
Promise, das damit erfüllt wird, ob die Maße passen | Promise |
Parameter
| Parameter | Beschreibung | Typ | Standard |
|---|---|---|---|
file |
Das Bilddatei-Objekt | File |
Erforderlich |
width |
Erwartete Breite (optional) | number |
Optional |
height |
Erwartete Höhe (optional) | number |
Optional |
Beispiel
Grundlegende Verwendung
import { isImageSize } from 'ranuts';
const fileInput = document.getElementById('fileInput');
fileInput.addEventListener('change', async (e) => {
const file = e.target.files[0];
if (file) {
try {
// Prüfen, ob die Breite 800 beträgt
const isValid = await isImageSize(file, 800);
if (isValid) {
console.log('Die Bildbreite passt');
} else {
console.log('Die Bildbreite passt nicht');
}
} catch (error) {
console.error('Die Prüfung ist fehlgeschlagen:', error);
}
}
});Breite und Höhe prüfen
import { isImageSize } from 'ranuts';
async function validateImage(file) {
// Prüfen, ob es 800x600 ist
const isValid = await isImageSize(file, 800, 600);
return isValid;
}Nur die Höhe prüfen
import { isImageSize } from 'ranuts';
const isValid = await isImageSize(file, undefined, 600);
// Prüft nur, ob die Höhe 600 beträgtVor dem Hochladen prüfen
import { isImageSize } from 'ranuts';
async function handleFileUpload(file) {
const isValid = await isImageSize(file, 1920, 1080);
if (!isValid) {
alert('Das Bild muss 1920x1080 messen');
return;
}
// Mit dem Hochladen weitermachen
}Verhalten
- Gibst du
widthundheightan, müssen beide stimmen. Gibst du keines von beiden an, wird nur geprüft, ob sich die Datei überhaupt als Bild dekodieren lässt. - Scheitert das Dekodieren, wird abgelehnt (beschädigte Datei, kein Bild), statt das Promise hängen zu lassen.
- Die Objekt-URL wird immer freigegeben, bei Erfolg wie bei Misserfolg — viele Dateien zu prüfen hinterlässt also keine Blob-URLs, die bis zum Verlassen der Seite liegen bleiben.
- Nur im Browser: Beim serverseitigen Rendern wird mit einem deutlichen Fehler abgelehnt.
Hinweise
Asynchron: Zurück kommt ein Promise, also mit
awaitoder.then()behandeln.Zu den Argumenten:
- Nur
widthübergeben: es wird nur die Breite geprüft - Nur
heightübergeben: es wird nur die Höhe geprüft - Beide übergeben: beide müssen stimmen
- Nur
Server-Umgebung: In Server-Umgebungen (kein
window-Objekt) wird abgelehnt.Aufräumen: Die erzeugte Objekt-URL räumt die Funktion intern selbst weg; von Hand ist nichts zu tun.
Einsatz: üblich, um Maße vor dem Hochladen zu prüfen, die Größe eines Profilbilds zu kontrollieren und Ähnliches.