gpt4 book ai didi

spring-mvc - Spring MVC : How to return image in @ResponseBody?

转载 作者:行者123 更新时间:2023-12-03 04:26:33 26 4
gpt4 key购买 nike

我正在从数据库获取图像数据(作为byte[])。如何在 @ResponseBody 中返回此图像?

编辑

我在没有使用 @ResponseBody 的情况下使用 HttpServletResponse 作为方法参数来完成此操作:

@RequestMapping("/photo1")
public void photo(HttpServletResponse response) throws IOException {
response.setContentType("image/jpeg");
InputStream in = servletContext.getResourceAsStream("/images/no_image.jpg");
IOUtils.copy(in, response.getOutputStream());
}

按照@Sid所说,将@ResponseBody与注册的org.springframework.http.converter.ByteArrayHttpMessageConverter转换器一起使用对我来说不起作用:(。

@ResponseBody
@RequestMapping("/photo2")
public byte[] testphoto() throws IOException {
InputStream in = servletContext.getResourceAsStream("/images/no_image.jpg");
return IOUtils.toByteArray(in);
}

最佳答案

如果您使用 Spring 3.1 或更高版本,您可以在 @RequestMapping 注释中指定“products”。下面的例子对我来说是开箱即用的。如果您启用了 Web mvc (@EnableWebMvc),则无需注册转换器或其他任何东西。

@ResponseBody
@RequestMapping(value = "/photo2", method = RequestMethod.GET, produces = MediaType.IMAGE_JPEG_VALUE)
public byte[] testphoto() throws IOException {
InputStream in = servletContext.getResourceAsStream("/images/no_image.jpg");
return IOUtils.toByteArray(in);
}

关于spring-mvc - Spring MVC : How to return image in @ResponseBody?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5690228/

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