Мне нужно отправить сгенерированный jsPDF на сервер, у меня есть этот код:
// PDF CREATION
const imgWidth = 208;
const imgHeight = canvas.height * imgWidth / canvas.width;
const contentDataURL = canvas.toDataURL('image/png');
let pdf = new jspdf('p', 'mm', 'a4',true); // A4 size page of PDF
const position = 0;
pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight,undefined,'FAST');
//Send File to server
this.saveInstallation.pushFileToStorage(pdf.output('blob'),'Approvals',this.instID).subscribe(data => {
console.log(data)
});
Когда я отправляю его с pdf.output ('blob') backendЯ могу прочитать его, но сохранить как файл, а не как файл PDF.
Это мой backEnd
@PostMapping("/file")
public void uploadFile(@RequestParam("file") MultipartFile file, @RequestParam("category") String category, @RequestParam("id") UUID id) throws IOException, FileUploadException {
// Normalize file name
String fileName = StringUtils.cleanPath(file.getOriginalFilename());
try {
if (fileName.contains("..")) {
throw new Exception("Filename contains invalid path sequence " + fileName);
}
long identifier = System.currentTimeMillis();
String uniqueFileName = identifier + fileName;
// Copy file to the target location
Path targetLocation = this.fileStorageLocation.resolve(uniqueFileName);
System.out.println("targetLocation");
System.out.println(targetLocation);
Files.copy(file.getInputStream(), targetLocation, StandardCopyOption.REPLACE_EXISTING);
} catch (Exception ex) {
ex.printStackTrace();
return buildResponse(ERROR_CODE, ERROR_STATUS, "Could not store file ");
}
}