gpt4 book ai didi

java - Sparkjava : Load PNG as base64 from InputStream

转载 作者:太空宇宙 更新时间:2023-11-04 12:07:32 25 4
gpt4 key购买 nike

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

try (Scanner scanner = new Scanner(MyClass.class.getResourceAsStream(path))) {
return scanner.useDelimiter("\\A").hasNext() ? scanner.next() : "";
}

现在我想将 PNG 图像作为 base64 字符串加载,这样我就可以使用 Content-Type: image/png 通过 Sparkjava 将其发送回。

我怎样才能做到这一点?

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

最佳答案

使用 response.header("Content-Type", "image/png") 设置 header 中的 MIME 类型后(查找您的 MIME 类型 here ),您可以使用以下命令:

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

return null;
<小时/>

除此之外,要在 Java 8 中对 String 进行 Base64 编码,您可以使用 java.util.Base64.Encoder类,因此您只需运行我在描述中发布的方法的结果

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

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

关于java - Sparkjava : Load PNG as base64 from InputStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40208546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com