var FormData = require('form-data');
var fs = require('fs');
var form = new FormData();
form.append('my_field', 'my value');
form.append('my_buffer', new Buffer(10));
form.append('my_file', fs.createReadStream('/foo/bar.jpg'));
Danke für deine Antwort. Ich arbeite mit ES6, also habe ich Folgendes importiert:import FormData from 'form-data' Aber ich bekomme eine Fehlermeldung form_data_1.default is not a contructor
– Josh Thomas
25. August 2020 um 10:55 Uhr
Wenn der Knoten js ist, können Sie nur Folgendes tun var FormData = require('form-data'); Node JS unterstützt die ES6-Syntax für den Import nicht.
– Radikaler Edward
25. August 2020 um 11:06 Uhr
versuchen import * as FormData from form-data
– Radikaler Edward
25. August 2020 um 11:51 Uhr
Danke. Ich bekomme einen weiteren Fehler source.on is not a function. Entschuldigung für meine schlechte Frage
Wenn Sie nur einreichen müssen string Werte und nicht Buffer oder ReadStreamDann URLSearchParams kann für Sie arbeiten!
Originalbeispiel
var fs = require('fs');
var form = new URLSearchParams();
form.append('my_field', 'my value');
form.append('my_second_field', 'my value 2');
form.append('my_third_field', 'my value 3');
Bei mir hat es funktioniert. Ich musste es optimieren, aber die Inspiration kam von Ihrer Antwort. Danke schön.
– OMKAR AGRAWAL
7. April 2022 um 11:01 Uhr
@OMKARAGRAWAL, du hättest es einfach bearbeiten oder hier beisteuern sollen, ein Forken, wenn es nicht benötigt wird, erhöht nur das Rauschen. Wie war der Sinn?
– Sudo-Seele
27. Mai 2022 um 15:02 Uhr
Dies funktioniert nicht wie beschrieben. URLSearchParams akzeptiert nur eine Zeichenfolge als Wert, daher sind ReadStream oder Buffer nicht gültig. Daher ist dies nicht gleichbedeutend mit FormData.
– Rantao
17. Juli 2022 um 22:36 Uhr
Dies wird nicht funktionieren, wenn die Anfrage so ist multipart/form-data.
– Branislav Lazic
11. August 2022 um 17:51 Uhr
Das ist völlig falsch! URLSearchParams und FormData sind zwei verschiedene Dinge und werden nicht funktionieren.
Ich würde das npm-Modul vorschlagen formdata-node weil es eine vollständige (spezifikationskonforme) Formulardaten Implementierung für Node.js. Es unterstützt beide ESM/CJS-Ziele, sodass EM6 unterstützt wird. Ein paar Beispiele finden Sie hier npm-Modulseite.