由于展示某些图片数据需要权限验证,因此不能直接访问图片资源。因此,使用spring mvc输出图片中遇到一个问题。
刚开始使用以下方式返回图片的字节,然而发现response.setContentType("image/png");并没有生效,返回的Response中type是text,导致图片无法展示。
@WebCheckLogin
@GetMapping(value="/album/resizePicture")
public byte[] resizePicture(HttpServletRequest request, HttpServletResponse response) {
response.setContentType("image/png");
...
}
解决方案
@WebCheckLogin
@GetMapping(value="/album/resizePicture")
public void resizePicture(HttpServletRequest request, HttpServletResponse response) {
response.setContentType("image/png");
try (OutputStream out = response.getOutputStream()) {
//这里直接写入输出流
}
}