I've a front end in Vue.js and I'm using AXIOS to send data to the backend. I need to send some data and a PDF file (generated with jsPDF API). However the backend does not receive the file. What am I doing wrong? Any help would be really appreciated.
Generator.vue code
this.doc = new jsPDF({orientation: "p", unit: "pt", format: "a4"})
// ... doing staff to create the PDF file here... everything is done properly
var file = this.doc.output('url');
this.$axios.post(`/sendmail/`,
{ "toEmail": "xxx@gmail.com",
"bccEmail": "",
"patientName": "Maria",
"studyType": "Abdominal",
"attachmentsFile": file
})
.then(response => {
console.log('SUCCESS!', response.status, response.text);
}).catch((error) => {
if (error.response) {
console.log('FAILED...', error);
alert(error.response.data.items.message)
} else {
console.log('FAILED...', error);
alert(error)
}
})// end AXIOS post
Backend Express Code (index.js)
app.post('/sendmail', async (req, res) => {
const {toEmail, bccEmail, studyType, patientName, attachmentsFile} = req.body;
// >> attachmentsFile is empty!! not sure what I'm doing wrong
const msg = {
from: "xxxx@xx.com", // sender address
to: `${toEmail}`, // list of receivers
bcc: `${bccEmail}`, // bcc - hiden
subject: "subject " + `${patientName}` + " - " + `${studyType}`
attachments: `${attachmentsFile}`, // PDF Attachment
html: "msg here ..."
}
// .... more code here working ok!
} // end post
Any help would be really appreciated. Thanks!