I am trying to upload a large csv file of 10mb using csv parser and form data in node js while sending a request to an api with axios. My code is the following:
//insert new data
else if (`${flags.newdata}` !== "undefined" && `${flags.source}` !== "undefined" ){
var csv=require('csv-parser');
var FormData=require('form-data');
const form_data = new FormData();
var data = [];
form_data.append("file", fs.createReadStream(`${flags.source}`)).pipe(csv()).on('data',function(row){ data.push(row) }).on('end',function(){console.log('Data Loaded')});
/*const request_config = {
headers: {
"Authorization": token,
"Content-Type": "multipart/form-data"
},
data: form_data
};*/
return axios.post('https://localhost:8765/energy/api/Admin/' + `${flags.newdata}`, form_data);
}
I get the following error:
TypeError: Cannot read property 'pipe' of undefined
I have read similar questions but none helped. How can I solve this?