SpringBoot优雅的实现图片返回

注意: response.setContentType("image/png");这行代码一定要加上

@RestController
@Slf4j
@Api(tags = SwaggerConfig.TAG_IMAGE)
@RequestMapping(SwaggerConfig.TAG_IMAGE)
public class ImageController {

    @Resource
    private HttpServletResponse response;

    @GetMapping(value = "/getImage")
    @ApiOperation("获取图片-以ImageIO流形式写回")
    public void getImage() throws IOException {
        OutputStream os = null;
        try {
//        读取图片
            BufferedImage image = ImageIO.read(new FileInputStream(new File("F:\\谷歌下载\\未命名文件.png")));
            response.setContentType("image/png");
            os = response.getOutputStream();

            if (image != null) {
                ImageIO.write(image, "png", os);
            }
        } catch (IOException e) {
            log.error("获取图片异常{}",e.getMessage());
        } finally {
            if (os != null) {
                os.flush();
                os.close();
            }
        }
    }

}

至此....OK

你可能感兴趣的:(SpringBoot优雅的实现图片返回)