Hallo zusammen,
ich habe ein HTML-Formular erstellt das neben Indexdaten auch eine oder mehrere Dateien übertragen kann. Meine Herausforderung ist die, das ich vom Formular nicht direkt an enaio übertragen möchte, sondern eine „Middleware“ ansteure.
Ich habe mir eine nodered Instanz aufgebaut die ich zukünftig als Middleware betreiben möchte, um interne Onlineanträge mit Attachments (die aus den verschiedensten Quellen stammen können (z.B.: Intranet, Formularserver, …) mit etwas Pfiff verarbeiten zu können. Ziel ist mit dieser Middleware die enaio Zugriffe und das Handling nicht auf die „Zulieferer“ abwälzen zu müssen
Nun mein Problem: Wenn das Formular seine Dateien direkt an enaio sendet, kommen diese auch an . Teste ich das Ganze mit Postman kommen diese ebenso an. Wenn ich aber nun aus meiner Verarbeitungskette des nodered meinen POST abschicke … kommt leider die Datei nicht an.
Ich führe einen POST mit einem Multipart-Formdata aus, Fundstelle und Indexdaten kommen an, das mitgelieferte File leider nicht oder zumindest nichts was der ursprünglichen Datei entspricht.
Anbei meine beispielhafte Übertragung:
--------------------------514311687129174916106222
Content-Disposition: form-data; name=„data“{
„cabinet“: „Akte“,
„objectTypeId“: „262148“,
„mainTypeId“: „4“,
„fields“: {
„BETREFF“: {
„internalName“: „BETREFF“,
„value“: „Anlagee 1/1 | Profilbild.jpg“},
„DOKUMENTART“: {
„internalName“: „DOKUMENTART“,
„value“: „Anlagee“},
„DOKUMENTDATUM“: {
„internalName“: „DOKUMENTDATUM“,
„value“: „03.12.2023“},
„BEARBEITUNGSSTATUS“: {
„internalName“: „BEARBEITUNGSSTATUS“,
„value“: „freigegeben“},
}},
--------------------------514311687129174916106222
Content-Disposition: form-data; name=„file“; filename=„/var/local/Profilbild.jpg“
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Die Datei kommt im nodered als Buffer an. Ich habe versucht diesen Buffer 1:1 zu übertragen oder ihn auch als Base64 kodiert zu übertragen … kein Erfolg. Die Datei kann nicht geöffnet werden, die Dateigröße entspricht auch nicht dem des Originals - also muss es an der Übertragung liegen.
Beim Content-Type und Content-Transfer-Encoding habe ich schon „rumgespielt“ . Ich habe schon den Tipp bekommen das Ganze als Blob zu übertragen, leider ist nodered hierzu nicht nativ in der Lage.
Hat jemand von euch einen Tipp für mich?
Hattet Ihr so etwas ähnliches schonmal?
Im Voraus vielen Dank und Viele Grüße
Flo