multipart/form-data

multipart/form-data ist der Medientyp, den Browser verwenden, wenn ein Formular ein Dateieingabefeld enthält, und die gängige Methode zum Hochladen von Dateien an eine API. Der Anfragetext ist in Teile unterteilt, von denen jeder seine eigenen Header hat – einen Namen, optional einen Dateinamen und einen Content-Type –, sodass Textfelder und Binärdateien in einer einzigen Anfrage zusammen übertragen werden.

So funktioniert es

Der Content-Type-Header definiert eine Begrenzungszeichenkette. Der Body besteht aus den durch diese Begrenzung getrennten Teilen. Clients sollten den Body von ihrer HTTP-Bibliothek erstellen und den Header inklusive Begrenzung setzen lassen. Server prüfen Typ und Größe jedes Teils und antworten mit dem Statuscode 415 für einen nicht akzeptierten Dateityp und 413 für eine zu große Datei.

Das Missverständnis

Die manuelle Einstellung von `Content-Type: multipart/form-data` ist hilfreich. Ohne den Boundary-Parameter kann der Server den Body nicht aufteilen, und der Upload schlägt unerwartet fehl. Bei `fetch` und `FormData` ist es ratsam, den Header gar nicht zu setzen.

Probieren Sie es hier aus

POST /movies/v1/movies/{id}/poster simuliert einen mehrteiligen Poster-Upload und gibt die Antwort 415 für einen nicht unterstützten Bildtyp und 413 für ein zu großes Bild zurück – die beiden Prüfungen, die jeder Upload-Endpunkt benötigt.

Quellen

Weitere Begriffe

Diese Seite auf Englisch lesen

Alle Glossarbegriffe · Testtechniken · Alle 39 Mock-REST-APIs

Zuletzt aktualisiert