Как отправить jsPdf в Spring Post в формате pdf? - PullRequest
0 голосов
/ 23 октября 2019

Мне нужно отправить сгенерированный 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 ");
    }

}
...