SpringBoot文件下载的两种方式
第一种
@RequestMapping("/down/file")
public void downFile(HttpServletResponse response){
response.setContentType("application/octet-stream");
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
response.setHeader("Content-Disposition", " attachment; filename=1.doc");
try {
String s="abc";
response.getOutputStream().write(s.getBytes(StandardCharsets.UTF_8));
response.flushBuffer();
} catch (IOException e) {
e.printStackTrace();
}
}
第二种
@RequestMapping("/down/file/stream")
public ResponseEntity<StreamingResponseBody> downFile(){
String content="aaa";
StreamingResponseBody responseBody=outputStream -> outputStream.write(content.getBytes(StandardCharsets.UTF_8));
return ResponseEntity.ok().header(HttpHeaders.CONTENT_DISPOSITION,"attachment; filename=1.txt").contentType(MediaType.APPLICATION_OCTET_STREAM).body(responseBody);
}