我正在从数据库中获取图像数据(作为 byte[]
)。如何返回这个图像在 @ResponseBody
?
剪辑
我没有使用 HttpServletResponse
作为方法参数而使用 @ResponseBody
:
@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 说的那样使用带有注册 org.springframework.http.converter.ByteArrayHttpMessageConverter
转换器的 @ResponseBody
对我来说不起作用:。
@ResponseBody
@RequestMapping("/photo2")
public byte[] testphoto() throws IOException {
InputStream in = servletContext.getResourceAsStream("/images/no_image.jpg");
return IOUtils.toByteArray(in);
}