/** * 浏览器下载 * @param img * @param response */ public void respImageBuffer(BufferedImage img, HttpServletResponse response){ ServletOutputStream outputStream = null; try { ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); ImageOutputStream imageOutput= ImageIO.createImageOutputStream(byteArrayOutputStream); ImageIO.write(img,"png",imageOutput); ByteArrayInputStream inputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray()); long length = imageOutput.length(); //设置response response.setContentType("application/octet-stream;charset=UTF-8"); response.setContentLength((int)length); response.setHeader("Content-Disposition","attachment;filename="+UUID.randomUUID().toString() + ".png"); //输出流 byte[] b = new byte[1024]; outputStream = response.getOutputStream(); long count = 0; while (count < length){ int len = inputStream.read(b, 0, 1024); count+=len; outputStream.write(b,0,len); } outputStream.flush(); }catch (Exception e){ logger.error("执行下载失败------{}",e); logger.error("执行下载失败msg------{}",e.getMessage()); }finally { try { if(outputStream != null){ outputStream.close(); } } catch (IOException e) { e.printStackTrace(); } } }