我正在从数据库中获取图像数据(作为 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);
}