2017-10-19 5 views
0

Je dois actuellement envoyer un fichier PDF via une API en le convertissant en chaîne Base64. J'ai testé mon code et je me rends compte qu'il ne peut pas accepter le contenu de ma variable pdfBase64String.Chaîne Base64 à Chaîne Json

J'ai essayé d'imprimer le pdfBase64String et il n'apparaît pas. J'ai essayé de décoder de nouveau dans un fichier pdf et cela fonctionne donc le problème devrait se situer dans la chaîne elle-même. Y at-il de toute façon je peux résoudre ce problème? je voudrais toujours l'envoyer en chaîne et l'autre partie qui le reçoit va le décoder dans le fichier pdf.

   ByteArrayOutputStream ba = loadPdf(fileName); 
       String pdfBase64String = StringUtils.newStringUtf8(Base64.encodeBase64(ba.toByteArray())); 
       System.out.println(pdfBase64String);  //Does not show anything 

       ApprovalReport approvalReport = new ApprovalReport(Long.valueOf(crisisID), pdfBase64String); 
       URI uri = restTemplate.postForLocation(CMO_SERVICE_URI + "/approvalReport/", approvalReport, ApprovalReport.class); 
+0

Avez-vous l'impression 'ba.toByteArray() length'? Quelle est la sortie? –

Répondre

2

Vous pouvez utiliser Base64.encodeBase64String.

  String pdfBase64String = Base64.encodeBase64String(ba.toByteArray());