ResponseEntity实现多媒体文件下载或返回

时间:2025-02-28 07:32:24
@CrossOrigin @GetMapping("/captcha") public ResponseEntity<byte[]> captcha() throws Exception { VCodeUtil vc = new VCodeUtil(); // 字节数组输出流,将其转变为byte[] 后再传输到前端 ByteArrayOutputStream byteOut = new ByteArrayOutputStream(); vc.saveImage(vc.getImage(),byteOut); String vcStr = vc.getText(); // 将captcha值存入redis,图片放入响应中 // key ? how to get? String key = CommonTool.getUUIDStr(); System.out.println(key); // setCaptchaToRedis("key",vcStr) // 设置一个head HttpHeaders headers = new HttpHeaders(); //设置ContentType的值 IMAGE_JPEG在浏览器返回图片 headers.setContentType(MediaType.IMAGE_JPEG); // 这一步设置文件名字,且浏览器会下载到本地,不设置就只是返回 // ("captchaName",key); // 自定义headers // ("key",key); return new ResponseEntity<byte[]>(byteOut.toByteArray(), headers, HttpStatus.OK); }