Я использую jsPdf для генерации PDF-файла в угловом формате 2. Я хочу отправить этот файл на сервер js узла и сохранить его на каком-либо сервере.После сохранения файла я хочу прикрепить его к электронной почте с помощью Nodemailer и отправить электронное письмо.
Я могу отправить файл с angula2 на сервер Nodejs через formData, но я не уверен, как сохранить данные формы вPDF файлНа сервере файл сохраняется во временную папку.Я хочу сохранить его в указанном месте.
У меня сейчас два вопроса: - 1. Как сохранить полученные данные формы в файл PDF в определенном месте.2. Как прикрепить этот файл к электронному письму с помощью nodeMailer.
Код клиента: -
public onGeneratePDF(): void {
//this.invoiceData = param.data;
const doc = new jsPDF('p','pt','a4');
let content = this.invoicePDF.nativeElement;
let specialElementHandler = {
'#editor': function (element, renderer) {
return true;
}
};
setTimeout(()=>{
doc.fromHTML(content.innerHTML, 15, 15, {
'width': 200,
'elementHandlers': specialElementHandler
}, function() {
var data = new Blob([doc.output()], {
type: 'application/pdf'
});
var formData = new FormData();
formData.append("pdf", data, "myfile.pdf");
var request = new XMLHttpRequest();
request.open("POST", URL); // Change to your server
request.send(formData);
//doc.save('D:/' + new Date() + '.pdf');
})}, 0);
}
Код сервера: -
module.exports.uploadDocument = function(req, res) {
form.parse(req, function(err, fields, files) {
console.log("File received:\nName:"+files.pdf.name+"\ntype:"+files.pdf.type);
});
form.on('end', function() {
console.log(this.openedFiles[0].path);
res.status(200).json({ success: false, message: 'Thank you!!'});
});
})