I need to send POST request with MIME - multipart/form-data
This is my default configuration for POST headers:
axios.defaults.headers.post['Content-Type'] = 'multipart/form-data';
I expect that default Content-Type
should be multipart/form-dat
, but in chrome devtools I see Content-Type: application/json
I need to send POST request with MIME - multipart/form-data
This is my default configuration for POST headers:
axios.defaults.headers.post['Content-Type'] = 'multipart/form-data';
I expect that default Content-Type
should be multipart/form-dat
, but in chrome devtools I see Content-Type: application/json
-
To be clear...is that
application/json
in the request headers and not the response ones? – charlietfl Commented Apr 6, 2019 at 15:59 - Yes, in the request headers – HDallakyan Commented Apr 6, 2019 at 16:00
- 1 try this reference -> stackoverflow./questions/41878838/… – sathish kumar Commented Apr 6, 2019 at 16:00
- It's helps, thank you! – HDallakyan Commented Apr 6, 2019 at 16:04
1 Answer
Reset to default 5You 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/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/endpoint', form, {
headers: form.getHeaders(),
}).then(result => {
// Handle result…
console.log(result.data);
});