JavaWeb常用功能-文件下载
2017-10-27 10:42
246 查看
JavaWeb开发中常见的功能就是文件下载。今天简单说下文件下载实现原理并举例。
下载无非就是把文件从一个地方挪到另一个地方。只要稍微熟悉Java IO的人应该都可以轻松实现这个功能。
我下面举例示范下:
我的例子功能是下载本地的一个文件20170818.sql;然后页面上定义一个下载button,点击之后要求看到
浏览器下方自己下载;
废话少说,开动。我是直接在我的项目里加了一个button,因为配置文件什么的都有,action直接就发到后台了,大家如果自己要写的话,
可以新建一个项目,直接用servlet来也可以的。只要能获取到浏览器对象(HttpServletRequest,HttpServletResponse)即可.
我们先定义button:(ExtJs中的定义方式)
然后实现后台:
由于我是下载本地文件,我直接给出文件名,然后将这个文件new成输入流,在设置一下浏览器的头,再将输入流的结果
write到浏览器response对象创建的输出流中即可。代码如下:
现在我们再也面上点击下载这个按钮,就可以看到指定的文件下载下来啦!
下载无非就是把文件从一个地方挪到另一个地方。只要稍微熟悉Java IO的人应该都可以轻松实现这个功能。
我下面举例示范下:
我的例子功能是下载本地的一个文件20170818.sql;然后页面上定义一个下载button,点击之后要求看到
浏览器下方自己下载;
废话少说,开动。我是直接在我的项目里加了一个button,因为配置文件什么的都有,action直接就发到后台了,大家如果自己要写的话,
可以新建一个项目,直接用servlet来也可以的。只要能获取到浏览器对象(HttpServletRequest,HttpServletResponse)即可.
我们先定义button:(ExtJs中的定义方式)
{ xtype:'button', style:'float:right;', colspan:4, text:'下载', handler: function(){ location.href = 'faldeConnect_download.action'; } }
然后实现后台:
由于我是下载本地文件,我直接给出文件名,然后将这个文件new成输入流,在设置一下浏览器的头,再将输入流的结果
write到浏览器response对象创建的输出流中即可。代码如下:
public void download(HttpServletResponse resp){ String fileName = "C:/Users/T-shigx/DeskTop/20170818.sql"; try{ InputStream is = new FileInputStream(new File(fileName)); OutputStream os = resp.getOutputStream(); resp.reset(); resp.setContentType("application/octet-stream;charset=utf-8");//以流的形式下载文件 resp.addHeader("Content-Disposition","attachment;filename = "+new String(fileName.getBytes("GB2312"),"ISO-8859-1")); resp.addHeader("Progma", "no-cache"); resp.addHeader("Cache-Control","no-cache");//客户端不缓存 byte[] b = new byte[1024]; int n = 0; while((n=(is.read(b)))!=-1){ os.write(b,0,n); } is.close(); os.close(); }catch(Exception e){ e.printStackTrace(); } }
现在我们再也面上点击下载这个按钮,就可以看到指定的文件下载下来啦!
相关文章推荐
- JAVA应用XFire框架来实现WebServie的大文件传输功能之一(下载)
- JavaWeb中struts2实现文件上传下载功能实例解析
- java resteasy restful webservice教程(六):实现文件下载功能实例文章来源:爱上123 原文地址:http://www.ishang123.com/jishubowen/
- Java Web +Servlet 文件下载功能
- JavaWeb_常用功能_01_文件上传
- JAVA应用XFire框架来实现WebServie的大文件传输功能之一(下载)
- javaWeb 实现文件下载的功能
- 使用.net FtpWebRequest 实现FTP常用功能 上传 下载 获取文件列表 移动 切换目录 改名
- Java Web应用程序实现基础的文件下载功能的实例讲解
- JavaWeb文件上传与下载功能解析
- 使用.net FtpWebRequest 实现FTP常用功能 上传 下载 获取文件列表 移动 切换目录 改名 .
- JavaWeb 实现多个文件压缩下载功能
- JAVA开发常用功能二--文件下载
- JAVA实现FTP服务器文件的上传,下载,删除功能
- java web 实现 文件上传及下载
- 【转】Web文件操作脆弱性-----下载文件功能
- 给goahead-3.1.0-2 web服务器 增加 任意盘符文件下载功能
- Java乔晓松-文件的上传和下载(Web)案例
- Web项目中使用java Struts2实现Zip、xml文件的动态创建和下载(Zip文件中动态存在多个xml文件)
- Portal-Basic Java Web 应用开发框架:应用篇(四) —— 文件上传和下载