sparkjava:从InputStream将PNG作为base64加载

sparkjava:从InputStream将PNG作为base64加载,java,base64,png,inputstream,spark-java,Java,Base64,Png,Inputstream,Spark Java,我有以下方法将资源作为字符串加载,其中path是指向类路径上资源的字符串(在纯文本上可以正常工作): 现在我想将PNG图像作为base64字符串加载,这样我就可以通过sparkjava使用内容类型:image/PNG将其发送回 我该怎么做 不要使用任何库,只使用普通的旧Java。使用response.header(“内容类型”、“图像/png”)在标题中设置MIME类型后,可以使用以下方法: try { return Files.readAllBytes(Paths.get(MyClas

我有以下方法将资源作为字符串加载,其中
path
是指向类路径上资源的字符串(在纯文本上可以正常工作):

现在我想将PNG图像作为base64字符串加载,这样我就可以通过sparkjava使用
内容类型:image/PNG
将其发送回

我该怎么做


不要使用任何库,只使用普通的旧Java。

使用
response.header(“内容类型”、“图像/png”)
在标题中设置MIME类型后,可以使用以下方法:

try {
    return Files.readAllBytes(Paths.get(MyClass.class.getResource(path).toURI()));
} catch (IOException | URISyntaxException exception) {
    exception.printStackTrace();
}

return null;

除此之外,要在Java8中对
字符串
进行base64编码,您可以使用该类,因此只需通过

Base64.getMimeEncoder().encodeToString(resourceAsString.getBytes(StandardCharsets.UTF_8))

并将其作为响应发送回。不过,出于一些奇怪的原因,我还没有让它为我工作。我只是使用了我的框架的静态文件功能。

在标题中使用
response.header(“内容类型”、“图像/png”)
设置MIME类型后,您可以使用以下方法:

try {
    return Files.readAllBytes(Paths.get(MyClass.class.getResource(path).toURI()));
} catch (IOException | URISyntaxException exception) {
    exception.printStackTrace();
}

return null;

除此之外,要在Java8中对
字符串
进行base64编码,您可以使用该类,因此只需通过

Base64.getMimeEncoder().encodeToString(resourceAsString.getBytes(StandardCharsets.UTF_8))
并将其作为响应发送回。不过,出于一些奇怪的原因,我还没有让它为我工作。我只是使用了框架的静态文件特性