DownLoad.java
@WebServlet("/download")
public class DownLoad extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String name = req.getParameter("name");
String path = req.getServletContext().getRealPath("file/" + name);
// 设置响应方式
resp.setContentType("application/x-msdownload");
// 设置下载之后的文件名,设置编码
resp.setHeader("Content-Disposition","attachment;filename="+ URLEncoder.encode(name, "UTF-8"));
// 输出流
ServletOutputStream outputStream = resp.getOutputStream();
// 输入流
FileInputStream inputStream = new FileInputStream(path);
int temp=0;
while ((temp=inputStream.read())!=-1){
outputStream.write(temp);
}
inputStream.close();
outputStream.close();
}
index.jsp
<html>
<head>
<title>download</title>
</head>
<body>
<a href="/download?name=算法.jpg" >下载</a>
</body>
</html>