You can try this:
const data = new FormData(); data.append('action', 'ADD'); data.append('param', 0); data.append('secondParam', 0); data.append('file', new Blob(['test payload'], { type: 'text/csv' })); axios.post('http://httpbin.org/post', data);
This code is using FormData API
Another option is using form-data package:
const axios = require('axios'); const FormData = require('form-data'); const form = new FormData(); // Second argument can take Buffer or Stream (lazily read during the request) too. // Third argument is filename if you want to simulate a file upload. Otherwise omit. form.append('field', 'a,b,c', 'blah.csv'); axios.post('http://example.org/endpoint', form, { headers: form.getHeaders(), }).then(result => { // Handle result… console.log(result.data); });
application/jsonin the request headers and not the response ones?