下载相对于上传来说简单许多,分为三步走
@RequestMapping("/loadFiles")
public String loadFiles(HttpServletRequest req) {
// 找到所有能下载的文件名
File dir = new File(req.getServletContext().getRealPath("/upload"));
String[] list = dir.list();
// 保存到作用域
req.setAttribute("list", list);
// 页面跳转
return "download";
}
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<center>
<c:forEach items="${list}" var="f">
<a href="download?name=${f}">${f}</a><br>
</c:forEach>
</center>
</body>
</html>
3.点击要下载的文件名称实现文件下载
@RequestMapping("/download")
public void download(String name, HttpServletRequest req, HttpServletResponse resp) throws Exception {
// 找到要下载的文件输入流
InputStream is = new FileInputStream(
new File(req.getServletContext().getRealPath("/upload"), name));
// 找到输出流
OutputStream os = resp.getOutputStream();
// 设置响应头
resp.setContentType("application/octet-stream");
resp.setHeader("Content-Disposition", "attachment;filename=" + name);
// 文件复制
IOUtils.copy(is, os);
}
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
加入交流群
请使用微信扫一扫!