Java实现文件的上传

  用Java来实现文件的上传,如果文件较小的话,我们可以用JSP SmartUpload,但是它的缺点就是上传大文件的时候,浏览器无反应,甚至会崩溃。所以今天我们用
Apache的开源工具:Commons-FileUpload 。
最新版本为: 1.2.1
API手册: http://commons.apache.org/fileupload/apidocs/index.html 下载API请参考上一篇文章:用Teleport Ultra下载网站全部网页。
这里我们还需要commons-io.jar。因为文件的上传需要DeferredFileOutputStream(延迟文件输出流)类。最新版本为1.4 也就是commons-io-1.4.jar
 
我的开发环境:JDK1.6+MyEclipse7+Tomcat5.5.27
先在MyEclipse中新建一个项目,FileUpload,将以上两个jar文件添加到该项目的类库中。
Snap1
 
我们的思路是:一个选择文件的页面(file.jsp),还有一个后台处理页面(upload.jsp),文件保存路径为/upload目录中。
首先在WebRoot目录下新建一个folder(目录)为upload。
Snap2
 
进入Tomcat\webapps\FileUpload目录下能看到生成的upload目录。
Snap43
 
然后新建两个jsp页面,代码如下:
file.jsp
< %@ page  language ="java"  import ="java.util.*"  pageEncoding ="gbk"% >    
<%    
String path = request.getContextPath();    
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";    
%>    
< html >    
< head >请选择文件 </head>    
         < body >    
                 < form  action ="upload.jsp"  method ="post"  enctype ="multipart/form-data" >    
         < input  type ="file"  name ="upload"  >    
         < input  type ="submit"  value ="提交" >    
                 </form>         
         </body>    
</html>
 
upload.jsp
< %@ page  pageEncoding ="gbk"% >    
< %@page  import ="org.apache.commons.fileupload.DiskFileUpload"% >    
< %@page  import ="java.util.List"% >    
< %@page  import ="org.apache.commons.fileupload.FileItem"% >    
< %@page  import ="java.io.File"% >    
< %@page  import ="java.text.SimpleDateFormat"% >    
< %@page  import ="java.util.Date"% >    
<%    
DiskFileUpload upload = new DiskFileUpload();    
List list=upload.parseRequest(request);    
for(int i=0;i<list.size();i++)    
{    
   FileItem item = (FileItem)list.get(i);    
   String filename = item.getName();    
   File file = new File(filename);    
   item.write(new File(request.getRealPath("/upload"),file.getName()));    

request.getRequestDispatcher("file.jsp").forward(request,response); %> 

发布后,在Tomcat中访问fiel.jsp页面。
Snap44
 
点击浏览,选择一个文件。那我就选刚刚我们下载的commons-fileupload-1.2.1.jar
Snap45
 
点击提交后,页面重新转向到file.jsp 方便用户上传其他文件。
Snap47
 
进入Tomcat\webapps\FileUpload\upload目录中,我们能发现刚刚上传的commons-fileupload-1.2.1.jar文件。
Snap48
 
Java成功实现文件的上传!以后我们会把上传的文件写入数据库或者XML文件,这样就有了实际开发的意义。

本文出自 “小段” 博客,请务必保留此出处http://xiaoduan.blog.51cto.com/502137/137909

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值