servlet实现文件下载
servlet实现文件下载
描述
servlet实现文件下载很简单的,只需要如下代码。
- 首先,配置servlet环境(配置一下Tomcat服务器即可)
- 然后,重写doGet()方法
就完成了
环境
- 项目目录
![image]()
- controller
@WebServlet("/download")
public class downloadController extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//1、获得下载文件的路径
String realPath = "/Users/mac/Desktop/servlet/web/学习进度建议.png";
//2、下载文件的文件名?
String fileName = realPath.substring(realPath.lastIndexOf("/") + 1);
//3、设置type,让浏览器支持下载
resp.setHeader("Content-Disposition","attachment;filename="+ URLEncoder.encode(fileName,"UTF-8"));
//4、获取下载文件的输入流
FileInputStream in = new FileInputStream(realPath);
//5、创建缓冲区
int len = 0;
byte[] buffer = new byte[1024];
//6、获取OutputStream对象
ServletOutputStream out = resp.getOutputStream();
//7、将FileOutputStream流写入buffer缓冲区
while ((len = in.read(buffer)) > 0) {
out.write(buffer,0,len);
}
in.close();
out.close();
}
}
效果



浙公网安备 33010602011771号