How to Use Formdata in Node. Js Without Browser?

How to Use Formdata in Node. Js Without Browser?

I want to make a post request in nodejs without browser since it is backend code.

const formdata = new FormData()
formdata.append('chartfile', file);

But above code gives me error as FormData not defined. I am working with ES6.

Anybody, who can let me know how to use the FormData in nodejs?

5 Answers

You can use form-data - npm module. because formData() isn't NodeJS API

Use it this way,

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'));
12

No need for an npm module, URLSearchParams does the same exact thing!

Original Example

var fs = require('fs');
 
var form = new URLSearchParams();
form.append('my_field', 'my value');
form.append('my_buffer', new Buffer(10));
form.append('my_file', fs.createReadStream('/foo/bar.jpg'));

Axios Example

const formData = new URLSearchParams();
formData.append('field1', 'value1');
formData.append('field2', 'value2');
const response = await axios.request({
  url: '
  method: 'POST',
  headers: {'Content-Type': 'application/x-www-form-urlencoded'},
  data: formData
});
2

FormData is a part of JS web API (not included in native NodeJS). You can install the form-data package instead.

4

In my opinion the cleanest solution that requires no additional dependencies is:

const formData = new URLSearchParams({
  param1: 'this',
  param2: 'is',
  param3: 'neat',
}) 
0

I would suggest the npm module formdata-node because it's a complete (spec-compliant) FormData implementation for Node.js. It supports both ESM/CJS targets, so EM6 is supported. You can find a few examples at the npm module page.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Robert Thorne
Author

Robert Thorne

Robert Thorne covers electric vehicle innovations, autonomous driving systems, global mobility trends, and automotive engineering developments.