更新时间:2021-05-26 09:58:02 来源:极悦 浏览817次
文件下载其实说多了就是从服务器中(你部署的项目中)读取出资源文件,然后通过response返回给客户端。其实tomcat已经对文件上传有很好的封装了,我们只需要知道需要下载的文件路径和文件字节流就能够轻松地实现文件下载功能。不多说了,直接上代码
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("filename");
//获取文件的绝对路径
String path = request.getServletContext().getRealPath("WEB-INF/download/"+name);
System.out.println(path);
//设置文件的MIME类型
response.setContentType(getServletContext().getMimeType(name));
//设置响应头文件,标识为文件下载类型,并附上文件的名称
response.setHeader("Content-Disposition", "attachment;filename="+name);
//对文件进行读取和存贮
InputStream is = new FileInputStream(path);
OutputStream os = response.getOutputStream();
byte[] flush = new byte[1024];
int len = 0;
while((len = is.read(flush))!=-1){
os.write(flush,0,len);
os.flush();
}
is.close();
}
其中还有一种文件下载的方式,而且贼简单。就是直接以超链接的形式指定到你的文件,客户端点击文件之后,就会自动下载。不过这种方式也有弊端,如果是浏览器识别的文件,浏览器会直接打开,而不会下载。代码如下:
<body>
<a href = "文件路径">超链接实现下载</a><br/>
<a href ="DownLoadServlet?filename=1.xls" >放假通知表!</a>
</body>
以上就是极悦小编介绍的"文件下载Java代码实现",希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为您服务。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习