我目前需要通过将API转换为Base64字符串来发送PDF文件。我已经测试了我的代码,并且意识到它不能接受pdfBase64String变量中的内容。
我尝试打印pdfBase64String,但它没有显示任何内容。我尝试解码回pdf文件,它可以正常工作,因此问题应该出在字符串本身。无论如何,我可以解决这个问题吗?我仍然想将其发送为字符串,接收它的另一方将其解码回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);
最佳答案
您可以使用Base64.encodeBase64String:
String pdfBase64String = Base64.encodeBase64String(ba.toByteArray());