Bilder
Zuletzt geändert: 18.07.2026 15:19

Ressource: image (Bilder in der Datenbank) #

Adressen und Artikel tragen ihr Bild direkt in der EULANDA-Datenbank (Spalten Bild, BildVorschau, BildRevision). Die API liest und schreibt diese Blobs; bei jedem Schreiben wird BildRevision erhöht, damit EULANDA-Clients ihre Caches invalidieren.

EULANDA-Konvention (aus den Bestandsdaten): Hauptbild max. 650 px Kantenlänge, Vorschaubild max. 320 px, Format JPEG. Die API nimmt nur JPEG an (422 IMAGE_FORMAT_INVALID sonst), skaliert zu große Bilder automatisch herunter und erzeugt beim Setzen des Hauptbilds das Vorschaubild gleich mit.

Endpunkte #

MethodePfadScopeZweck
GET/api/v1/addresses/{id}/imageaddresses:readHauptbild (JPEG)
GET/api/v1/addresses/{id}/image/previewaddresses:readVorschaubild
PUT/api/v1/addresses/{id}/imageaddresses:writeHauptbild setzen (Body = JPEG); Vorschau wird miterzeugt
PUT/api/v1/addresses/{id}/image/previewaddresses:writeVorschaubild explizit setzen
DELETE/api/v1/addresses/{id}/imageaddresses:writeBild und Vorschau entfernen

Für Artikel identisch unter /api/v1/articles/{id}/image... mit den Scopes articles:read / articles:write.

Kein Bild hinterlegt: 404 IMAGE_NOT_FOUND. Antwort auf PUT: { "image": "...", "sizeBytes": n, "resized": bool, "previewGenerated": bool } - ist previewGenerated false (GDI+ nicht verfügbar), das Vorschaubild anschließend explizit per PUT .../image/preview setzen.

Beispiele #

Artikelbild laden:

$h = @{ Authorization = "Bearer $key" }
Invoke-WebRequest 'http://localhost:8100/api/v1/articles/1/image' -Headers $h -OutFile 'C:\Temp\artikel1.jpg'
curl.exe -H "Authorization: Bearer %KEY%" -o artikel1.jpg "http://localhost:8100/api/v1/articles/1/image"

Adressbild setzen (Vorschau entsteht automatisch):

Invoke-RestMethod 'http://localhost:8100/api/v1/addresses/14/image' `
    -Method Put -Headers $h -ContentType 'image/jpeg' -InFile 'C:\Fotos\firma.jpg'
curl.exe -X PUT -H "Authorization: Bearer %KEY%" -H "Content-Type: image/jpeg" --data-binary "@C:\Fotos\firma.jpg" "http://localhost:8100/api/v1/addresses/14/image"

Vorschaubild laden bzw. Bild entfernen:

Invoke-WebRequest 'http://localhost:8100/api/v1/addresses/14/image/preview' -Headers $h -OutFile 'C:\Temp\vorschau.jpg'
Invoke-RestMethod 'http://localhost:8100/api/v1/addresses/14/image' -Method Delete -Headers $h
curl.exe -H "Authorization: Bearer %KEY%" -o vorschau.jpg "http://localhost:8100/api/v1/addresses/14/image/preview"
curl.exe -X DELETE -H "Authorization: Bearer %KEY%" "http://localhost:8100/api/v1/addresses/14/image"

Fehlercodes dieser Ressource #

HTTPCodeBedeutung
404NOT_FOUNDDatensatz existiert nicht
404IMAGE_NOT_FOUNDKein Bild hinterlegt
422IMAGE_FORMAT_INVALIDBody ist kein JPEG
413PAYLOAD_TOO_LARGEBild über dem Upload-Limit