/*
统一下载文件接口
*/
@GetMapping(value = "download.do")
public void download(@RequestParam(value = "url") String url, Boolean delete) throws Exception {
String upaloadUrl = request.getSession().getServletContext().getRealPath("/");// 得到当前工程路
Path file = Paths.get(upaloadUrl, url);
if (Files.exists(file)) {
String exName = Tools.getFileExtensionName(url);
// String filename = file.getFileName().toString();
String filename = url.substring(url.lastIndexOf("_") + 1);
response.setContentType("application/" + exName);
response.addHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(filename, "UTF-8"));
Files.copy(file, response.getOutputStream());
if (delete != null && delete) {
url = upaloadUrl + url;
File f = new File(url);
// 路径为文件且不为空则进行删除
if (f.isFile() && f.exists()) {
f.delete();
}
}
} else {
response.setContentType("text/html;charset=UTF-8");
response.getWriter().write("The file is not exist! <input type='button' οnclick='history.go(-1)' value='Back' />");
response.getWriter().flush();
response.getWriter().close();
throw new RuntimeException("The file is not exist");
}
}
java:文件下载
最新推荐文章于 2024-04-19 15:34:48 发布