码迷,mamicode.com
首页 > 编程语言 > 详细

java文件上传模块

时间:2015-02-06 21:47:45      阅读:255      评论:0      收藏:0      [点我收藏+]

标签:

今天做了一下java的简单的文件上传,使用的是commons-fileupload-1.3.1.jar。依赖于commons-io-2.4.jar。所以在导入包的时候也需要导入这个commons-io-2.4.jar。至于版本之间的关系,我并没有好好的去看,我使用的这两个还是很很友好合作的。

使用这两个包来上传文件到服务器端,是比较简单的。大致的就分为两个部分,一个是html页面部分的设置,一个是servlet部分的代码。

html页面

1 <form action="uploadFile" method="post" enctype="multipart/form-data">
2       <input type="file" name="file">
3       <input type="submit" value="上传">
4  </form>

FileUpload parses HTTP requests which conform to RFC 1867, "Form-based File Upload in HTML". That is, if an HTTP request is submitted using the POST method, and with a content type of "multipart/form-data", then FileUpload can parse that request, and make the results available in a manner easily used by the caller.

这个是Apache 官网上的一句话,给出了这样的form表单的设置的要求。

然后是servlet页面,我将最简单的代码部分给出,没有任何的设置,没有文件上传的大小的限制,就写了个最简单的能够完成上传的代码,如果有需要设置的话,可以自己查一下。

 1 DiskFileItemFactory disk=new DiskFileItemFactory();
 2 ServletFileUpload upload=new ServletFileUpload(disk);
 3 List<FileItem> list=upload.parseRequest(request);
 4 Iterator iterator=list.iterator();
 5 while(iterator.hasNext()){
 6     FileItem item=(FileItem)iterator.next();
 7     FileName=item.getName();
 8     Path="d:\\"+FileName;
 9     item.write(new File(Path));
10 }

这个我给定的是一个指定的存储位置,当然,可以获得服务器当前的位置,然后在服务器端新建一个文件夹用来存放相应的文件。

通过这样的几句代码,就可以完成文件的上传,而且,当上传多个文件的时候,只在html页面增加类型为file的input标签,服务器端servlet可以不用增加任何代码。

之后将增加一个progress lisetener 用来监听上传的进度。

end

 

java文件上传模块

标签:

原文地址:http://www.cnblogs.com/wuxiongliu/p/4278042.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!