ResponseEntity实现多媒体文件下载或返回
@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);
}