How to use FormData in Node.js without a browser?

You can also use the axios HTTP client combined with form-data to handle file uploads or form submissions.

  1. Install axios and form-data: npm install axios form-data

  2. Use them together:

const axios = require('axios');
const FormData = require('form-data');
const fs = require('fs');

const form = new FormData();
const filePath = './chartfile.png';
form.append('chartfile', fs.createReadStream(filePath));

axios.post('http://example.com/upload', form, {
  headers: form.getHeaders(),
})
.then(response => {
  console.log(response.data);
})
.catch(error => {
  console.error(error);
});