HTTP-Request - Formulardaten - wie man den Content-Type für ein bestimmtes Feld angibt

Das Problem/Fehler/Frage beschreiben

Ich muss eine HTTP-Anfrage mit Form-Data ausführen, wobei für eines der Felder ein Content-Type angegeben ist.

In Postman sieht es folgendermaßen aus:

Wenn ich in Postman einen cUrl-Snippet aus dieser Anfrage erstelle, sieht es so aus:

curl --location ‘http://someUrl’ \

–form ‘data=“Some sample text about some very important topic”’ \

–form ‘params=“{\“projectId\” : [\“1223\”], \“showMatchingDetails\”:true, \“showMatchingPosition\”: true}”;type=application/json

Bitte beachten Sie den Typ des Params-Felds am Ende.

Wenn ich einen einfachen Workflow mit HTTP Request erstelle, sehe ich nicht, wo ich den Content-Type des Params-Felds angeben kann:

Wenn ich den Workflow ausführe, erhalte ich einen Fehler, dass der Content-Type falsch ist.

Ich habe es auch mit Form-Data versucht - der gleiche Fehler:

Ich habe auch versucht, die cURL zu importieren - der gleiche Fehler.

Meine Frage ist also: Gibt es eine Möglichkeit, einen Content-Type für ein bestimmtes Feld in einer Form-Data-Anfrage anzugeben?

Welche Fehlermeldung erhalten Sie (falls zutreffend)?

500 - “{\“voidResponse\”:{\“success\”:false,\“status\”:500,\“message\”:\“Content-Type ‘application/x-www-form-urlencoded’ is not supported\”,\“resultType\”:\“text/plain\”,\“result\”:null}}”

Bitte teilen Sie Ihren Workflow

Geben Sie die Ausgabe des letzten Knotens aus

Informationen zu Ihrem n8n-Setup

  • n8n-Version: 2.21.7
  • Datenbank (Standard: SQLite): Postgres
  • n8n EXECUTIONS_PROCESS-Einstellung (Standard: own, main): own
  • n8n wird ausgeführt über (Docker, npm, n8n Cloud, Desktop-App): Docker
  • Betriebssystem: Windows

Hallo @Daniil_Dukat

Kannst du das mal versuchen?

  1. Code Node: Dieser erstellt eine binäre Eigenschaft namens data. Entscheidend ist, dass er den mimeType auf application/json setzt.
  2. HTTP Request Node:
    • Body Content Type: Auf multipart-form-data einstellen.
    • Feld 1 (data): Ein Standard-Textfeld, das auf die JSON-Ausgabe des Code-Node abgebildet wird.
    • Feld 2 (params): Der parameterType ist auf formBinaryData eingestellt und der inputDataFieldName ist auf data eingestellt. Das teilt n8n mit, dass das von uns erstellte binäre Objekt mit seinem zugehörigen MIME-Typ (application/json) gesendet werden soll.

Klar, probiere ich jetzt aus. Danke

Hey @kjooleng - vielen Dank, das funktioniert! :clinking_beer_mugs:

Gerne geholfen…