Nig*_*gel 11 spring spring-mvc
我试图在我的Spring WebMVC 3.0.5控制器中使用ResponseEntity返回类型.我正在返回一个图像,所以我想使用以下代码将Content Type设置为image/gif:
@RequestMapping(value="/*.gif")
public ResponseEntity<Resource> sendGif() throws FileNotFoundException {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.IMAGE_GIF);
return new ResponseEntity<Resource>(ctx.getResource("/images/space.gif"), headers, HttpStatus.OK);
}
Run Code Online (Sandbox Code Playgroud)
但是,返回类型被重写为ResourceHttpMessageConverter中的text/html.
除了实现我自己的HttpMessageConverter并将其注入AnnotationMethodHandlerAdapter之外,有什么方法可以强制使用Content-Type?
gou*_*uki 11
尝试注入HttpServletResponse对象并从那里强制内容类型.
@RequestMapping(value="/*.gif")
public ResponseEntity<Resource> sendGif(final HttpServletResponse response) throws FileNotFoundException {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.IMAGE_GIF);
response.setContentType("image/gif"); // set the content type
return new ResponseEntity<Resource>(ctx.getResource("/images/space.gif"), headers, HttpStatus.OK);
}
Run Code Online (Sandbox Code Playgroud)
Mou*_*kir 10
另一个主张:
return ResponseEntity
.ok()
.contentType(MediaType.IMAGE_GIF)
.body(resource);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22834 次 |
| 最近记录: |