java文件下载

方式一、采用文件输出流

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/**
* 文件下载
*/
@RequestMapping("/downServiceAgreement")
public void downServiceAgreement(HttpServletRequest request, HttpServletResponse response){
AuthCompanyUser user = CurrentUserHolder.getUser();
assert user != null;
try {
// 文件的绝对路径
String downCertApplyPath = orderService.downServiceAgreement();
//告诉浏览器输出内容为流
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment;fileName= " + URLEncoder.encode("文件名称", "utf-8") + ".pdf");
OutputStream outputStream = response.getOutputStream();
FileInputStream fileInputStream = new FileInputStream(downCertApplyPath);
//缓存区
byte[] buffer = new byte[1024];
while (fileInputStream.read(buffer) != -1) {
outputStream.write(buffer);
}
outputStream.flush();
fileInputStream.close();
outputStream.close();

// 删除当前文件
FileUtil.deleteFile(new File(downCertApplyPath));

} catch (Exception e) {
e.printStackTrace();
}
}

前端代码:

1
window.location.href = '${ctx}/downServiceAgreement';
坚持原创技术分享,您的支持将鼓励我继续创作!
0%