下载文件,可以用以下形式实现:
String fileName = URLEncoder.encode("XXX.xlsx", "UTF-8");
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
headers.setContentDispositionFormData("attachment", new String(fileName.getBytes("utf-8"), "ISO8859-1"));
return new ResponseEntity<byte[]>(result, headers, HttpStatus.OK);
对于下载的接口传递成功或者失败信息:
通过http请求的状态码来确认,通过header来添加多余信息
headers.set("msg", new String("下载失败".getBytes("UTF-8"), "ISO8859-1"));
return new ResponseEntity<byte[]>(null, headers, HttpStatus.INTERNAL_SERVER_ERROR);
以上,返回状态码为500;错误信息为msg:下载失败