首页 > 解决方案 > 如何从 Mironaut 控制器发送 Base64 编码的 PDF?

问题描述

我想将 Base64 编码的 PDF 字符串发送给客户端(例如浏览器)。我如何必须声明我的控制器操作才能让浏览器显示 Base64 编码的 PDF?这是我到目前为止所做的。

@Get(value = "/downloadDocument", produces = MediaType.APPLICATION_OCTET_STREAM )
public String downloadDocument() throws IOException {
    byte[] fileAsBytes =  calledExternalService();
    return Base64.getEncoder().encodeToString(fileAsBytes);
}

标签: micronaut

解决方案


告诉您的客户响应是 PDF,但经过 base64 编码。@Produces您可以通过更改控制器中的值来实现此目的

@Produces("application/pdf;base64")

推荐阅读