如何将Spring REST中的图像返回到浏览器

fir*_*ser 6 rest spring controller image spring-rest

我需要在Spring控制器中返回图像.我在这个Spring MVC中尝试回答:如何在@ResponseBody中返回图像?但它不起作用

我的代码是这样的

@RequestMapping(value = "cabang/photo", method = RequestMethod.GET)
@ResponseBody
public ResponseEntity<byte[]> getPhoto() throws IOException {

     File imgPath = new File("D:\\test.jpg");

    byte[] image = Files.readAllBytes(imgPath.toPath());
    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.IMAGE_JPEG);
    headers.setContentLength(image.length);
    return new ResponseEntity<>(image, headers, HttpStatus.OK);
}
Run Code Online (Sandbox Code Playgroud)

但是当我在浏览器中访问它时,它没有显示任何内容(只是没有图片图标).但是如果我读取图像字节数组,它就不是空的.我的代码中是否有任何遗漏?

Bnr*_*rdo 1

你的代码看起来没问题。确保您已将ByteArrayHttpMessageConverterhttp 消息转换器添加到应用程序的列表中。

Java配置:

@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
    ByteArrayHttpMessageConverter byteConverter = new ByteArrayHttpMessageConverter();
    converters.add(byteConverter);
    super.configureMessageConverters(converters);
}
Run Code Online (Sandbox Code Playgroud)