0%

SpringMVC文件下载

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@RequestMapping("download")
public ResponseEntity<byte[]> fileDownload(String fileName) throws UnsupportedEncodingException {
File file = new File("D:\\Program Files\\Java\\jar\\spring\\spring-framework-5.1.9.RELEASE-dist\\spring-framework-5.1.9.RELEASE\\libs\\jar", fileName);
HttpHeaders headers = new HttpHeaders();
//设置响应头信息类型
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
//new String(fileName.getBytes("UTF-8"), "iso-8859-1")头信息如果不经过转码,中文文件名会变成下划线
headers.setContentDispositionFormData("attachment", new String(fileName.getBytes("UTF-8"), "iso-8859-1"));
ResponseEntity<byte[]> responseEntity = null;
try {
//将文件转换为字节流并返回
responseEntity = new ResponseEntity<>(FileUtils.readFileToByteArray(file), headers, HttpStatus.OK);
} catch (IOException e) {
e.printStackTrace();
}

return responseEntity;
}
赏口饭吃吧!