springboot 返回图片文件流报错 No converter for [class java.util.LinkedHashMap] with preset Content-Type image/jpg ]
时间: 2024-01-31 13:08:31 浏览: 355
tomcat启动报错:java.util.zip.ZipException的解决方法
5星 · 资源好评率100%
报错是因为SpringBoot无法找到合适的转换器将返回的数据转换为指定的Content-Type。在这种情况下,SpringBoot默认使用Jackson库将Java对象转换为JSON格式的数据,但是在这里,返回的是图片文件流,因此需要使用其他转换器。
解决方法是在Controller中使用ResponseEntity<byte[]>作为返回类型,并设置Content-Type为image/jpeg。具体代码如下:
```java
@GetMapping("/image")
public ResponseEntity<byte[]> getImage() throws IOException {
InputStream imageStream = new FileInputStream(new File("path/to/image.jpg"));
byte[] imageBytes = IOUtils.toByteArray(imageStream);
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.IMAGE_JPEG);
return new ResponseEntity<byte[]>(imageBytes, headers, HttpStatus.OK);
}
```
其中,IOUtils是Apache Commons IO库中的一个工具类,用于将InputStream转换为byte数组。
阅读全文