- 文件以流的方式返回
/**
* 根据图片路径获取文件流
*
* @param response 返回值
* @param path 图片路径
* @throws ServletException
* @throws IOException
*/
@ApiOperation("根据图片路径获取文件流")
@GetMapping("/getPresentImageStream")
public void service(HttpServletResponse response,String filePath) throws ServletException, IOException {
//文件以流的形式返回给前端
OutputStream responseStream = null;
try {
byte[] resultBytes = FileUtils.readFileToByteArray(new File(filePath));
response.setCharacterEncoding("UTF-8");
response.setContentType("application/octet-stream");
responseStream = response.getOutputStream();
responseStream.write(resultBytes, 0, resultBytes.length);
responseStream.flush();
response.flushBuffer();
} catch (Exception e) {
if (null != responseStream) {
try {
responseStream.close();
} catch (IOException ignored) {
}
}
}
}
- 图片流返回
@GetMapping("/getPresentImageStreamNew")
public void getPresentImageStreamNew(HttpServletResponse response) throws ServletException, IOException {
log.info("getPresentImageStreamNew filePath: {},fenceArea: {}", filePath,fenceArea);
//原图的 BufferedImage
BufferedImage bufferImage = ImageIO.read(new FileInputStream(filePath));
ImageIO.write(bufferImage, "png", response.getOutputStream());
}