我目前需要通过将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());

09-11 15:05