Dateiverwaltung, Bildgrößen, Dateilimit und Dateiabruf.
Dateien können in verschiedenen Modulen genutzt werden, zum Beispiel für Artikelbilder, Kursbilder, Website-Medien, Wallet-Grafiken oder Dokumentanhänge. Originaldateien bleiben erhalten; erzeugte Bildvarianten wie Thumbnails und Resizes werden aus dem Original abgeleitet.
simplebis unterscheidet dabei zwischen der Originaldatei, festen Thumbnail-Varianten und proportionalen Resize-Varianten. Die Varianten werden über Presets mit eigenen Keys gesteuert. Dadurch kann eine Umgebung selbst festlegen, welche Bildgrößen für Listen, Detailseiten, Apps, Websites oder andere Ausgaben verwendet werden sollen.
Die globale Konfiguration für Bildgrößen befindet sich im Manager unter Einstellungen > Dateien. Dort werden die Presets der aktuellen Umgebung gepflegt. Die eigentliche Dateiauswahl oder der Upload erscheint zusätzlich in den jeweiligen Modulen, zum Beispiel bei Artikeln, Kursen, Apps, Webseiten oder Wallet-Designs.
Unter Einstellungen > Dateien gibt es zwei Bereiche: Thumbnails und Resizes. In beiden Bereichen können vorhandene Presets bearbeitet oder eigene Einträge ergänzt werden. Jeder Eintrag braucht einen eindeutigen Key, der später in URLs und APIs verwendet wird.
Eigene Bildtypen legst du im Manager unter Einstellungen > Dateien an.
Im Bereich Thumbnails pflegst du Presets mit Key, Breite und Höhe. Diese Varianten eignen sich für feste Vorschaubilder, quadratische Kacheln, Cards oder andere Layouts, bei denen eine feste Zielgröße gebraucht wird. Beispiel: card mit 480x320 oder avatar mit 256x256.
Im Bereich Resizes pflegst du Presets mit Key und Breite. Die Höhe wird beim Erzeugen automatisch anhand des Seitenverhältnisses berechnet. Diese Varianten eignen sich für responsive Bilder, Beitragsbilder, Hero-Bilder oder Produktbilder, bei denen die Proportion erhalten bleiben soll. Beispiel: hero mit 1400 Pixel Breite oder list mit 640 Pixel Breite.
Preset-Keys werden normalisiert: Sie werden kleingeschrieben und dürfen nur Buchstaben, Zahlen, Unterstrich und Bindestrich enthalten. Die Alias-Keys m und l werden intern zu md beziehungsweise lg normalisiert. Keys müssen pro Bereich eindeutig sein. Außerdem muss in jedem Bereich mindestens ein Preset vorhanden sein.
Standardmäßig werden diese Presets angelegt, wenn noch keine eigene Konfiguration vorhanden ist:
| Bereich | Key | Größe | Verwendung |
|---|---|---|---|
| Thumbnails | xs | 300x300 | kleine Vorschau, mobile Listen |
| Thumbnails | md | 600x600 | größere Vorschau, Desktop-Listen |
| Thumbnails | lg | 800x800 | große Vorschau, detailnahe Kacheln |
| Resizes | xs | 300 px breit | kleine proportionale Bildvariante |
| Resizes | md | 600 px breit | mittlere proportionale Bildvariante |
| Resizes | lg | 800 px breit | große proportionale Bildvariante |
Jede simplebis-Umgebung hat ein Dateilimit. Dieses Limit beschreibt, wie viel Cloud-Speicher die Umgebung für hochgeladene Dateien verwenden darf. Zum Speicher zählen die in der Umgebung hochgeladenen Dateien aus dem Dateimanager und aus Modulen, die den Dateimanager verwenden.
Den aktuell verwendeten Cloud-Speicher kannst du in Echtzeit auf der Startseite der Umgebungseinstellungen einsehen. Öffne dazu Einstellungen > Allgemeine Einstellungen. Dort gibt es die Kachel Dateien; sie zeigt den verwendeten Cloud-Speicher der Umgebung an.
Thumbnail-Presets erzeugen feste Vorschaubilder. Sie werden über den URL-Parameter thumb abgerufen, zum Beispiel /api/files?fileid=DATEI_ID&thumb=md.
Ein Thumbnail-Preset besitzt immer Key, Breite und Höhe. Beim Abruf prüft simplebis, ob die Variante bereits existiert. Falls nicht, wird sie aus der Originaldatei erzeugt und anschließend an der Datei gespeichert. Nicht vorhandene oder falsch geschriebene Preset-Keys führen zu einem Fehler.
Thumbnails sind sinnvoll, wenn das Layout eine feste Größe erwartet, etwa quadratische Vorschaubilder, Kartenbilder, Rasteransichten oder kompakte Listen.
Resize-Presets erzeugen skalierte Bildvarianten mit einer Zielbreite. Sie werden über den URL-Parameter resize abgerufen, zum Beispiel /api/files?fileid=DATEI_ID&resize=lg.
Ein Resize-Preset besitzt Key und Breite. Die Höhe wird automatisch passend zum Seitenverhältnis berechnet. Bilder werden nicht vergrößert, wenn das Original kleiner ist als die Zielbreite. Je nach Originalformat wird die erzeugte Variante als PNG, WebP oder JPEG gespeichert.
Intern werden Resize-Varianten als generierte Bildvariante mit dem Key resize_<key> gespeichert. Für Anwender bleibt aber der URL-Parameter resize=<key> relevant.
Wenn Thumbnail- oder Resize-Presets geändert werden, können unter Einstellungen > Dateien die generierten Bilder gelöscht werden. Die Originaldateien bleiben dabei erhalten. simplebis legt dafür einen Job Datei-Thumbnails und Resizes löschen an.
Nach dem Löschen werden benötigte Varianten wieder neu erzeugt, sobald sie angefordert werden. Das ist besonders wichtig, wenn du die Breite, Höhe oder den Zweck eines bestehenden Keys geändert hast. Solange ein aktiver Lösch-Job läuft, kann kein zweiter Job für dieselbe Umgebung gestartet werden.
Dateien werden in der neuen Implementierung über GET /api/files abgerufen. Die Datei-ID wird über fileid, fileId oder über ein JSON-payload übergeben. Für normale Anwendungen ist fileid die einfachste Variante.
| Ziel | URL-Beispiel | Parameter | Ergebnis |
|---|---|---|---|
| Originaldatei öffnen | /api/files?fileid=DATEI_ID | fileid | Liefert die Originaldatei inline, wenn der Dateityp inline geöffnet werden kann. |
| Originaldatei herunterladen | /api/files?fileid=DATEI_ID&download=1 | download=1 | Erzwingt den Download statt Inline-Anzeige. |
| Thumbnail abrufen | /api/files?fileid=DATEI_ID&thumb=md | thumb=<thumbnail-key> | Liefert das Thumbnail-Preset, zum Beispiel md. |
| Resize abrufen | /api/files?fileid=DATEI_ID&resize=lg | resize=<resize-key> | Liefert eine proportionale Variante mit der Breite des Resize-Presets. |
| Payload verwenden | /api/files?payload={"id":"DATEI_ID","thumbnail":"xs"} | payload.id, payload.thumbnail | Alternative Übergabe über JSON-Payload. |
| Payload mit Resize | /api/files?payload={"id":"DATEI_ID","resize":"hero"} | payload.id, payload.resize | Alternative Übergabe für eigene Resize-Presets. |
Für thumb muss der Key in den Thumbnail-Presets der Datei-Umgebung vorhanden sein. Für resize muss der Key in den Resize-Presets vorhanden sein. Wenn ein Key fehlt, gibt simplebis einen Fehler zurück. Wenn eine Variante noch nicht existiert, wird sie beim ersten Abruf erzeugt.
Für Bild-, Audio-, Video- und PDF-Dateien versucht simplebis die Datei inline zu öffnen. Bilder erhalten Cache-Header für lange Browser-Caches. Videos vom Typ video/mp4 werden gestreamt.