gpt4 book ai didi

java - 尝试从 Spring 获取图像

转载 作者:行者123 更新时间:2023-12-01 10:36:08 26 4
gpt4 key购买 nike

我的 HTML 文件包含以下命令

<img src="/5/background" alt="" width="192" height="192">

我已将其绑定(bind)到 Spring Boot 应用程序中的 @RestController 内的以下内容:

@RequestMapping(value = "/{connector}/background", method = RequestMethod.GET)
public File getConnectorBackgroundImage(@PathVariable("connector") int connector)
{
File image = new File("folder" + connector + "/myPicture");
return image;
}

我已经完成了调试,我知道正在输入该方法,并且我知道路径是正确的,但是当加载图片出现问题时,所显示的只是浏览器中的图标。

我还缺少什么?

最佳答案

Spring 不知道如何以这种方式处理文件。如果您返回一个文件,并且调用 REST API, Controller 将简单地显示该文件的路径。

正确的方法是将文件读取为byte[]。使用 commons-io 你可以想出这样的东西:

File image = new File("folder" + connector + "/myPicture");
FileInputStream input = null;
try {
input = new FileInputStream(image);
return IOUtils.toByteArray(input);
} finally {
IOUtils.closeQuietly(input);
}

您不应该忘记的另一件事是提供 mimetype。为此,您可以通过提供 products 属性来稍微调整 @RequestMapping 注释:

@RequestMapping(value = "/{connector}/background", method = RequestMethod.GET, produces = MediaType.IMAGE_PNG_VALUE)

这应该可以解决问题。

编辑:没注意到评论,你已经自己修复了。

关于java - 尝试从 Spring 获取图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34712740/

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