* 介绍 |
最近项目上要做上传的功能,apache神奇之处在于开源。这是大家都喜闻乐见的,面对上传的功能,当然我们可以通过流操作完成,不过这也是没有太大的必要,很多现成的组件可以使用,而且比较成熟,今天小媛就来跟大家说说apache下的一款上传组件:Apache提供的commons-fileupload。
引入需要的jar包:
* 开门见山 |
我们先建立servlet,在doGet中实现相应的code~
1.上传核心code
这是我拿到的上传的基本内容,我们接下来就看看如何使用它,以及它是如何工作的~
System.out.println(request.getContentLength());
System.out.println(request.getContentType());
DiskFileItemFactory factory = new DiskFileItemFactory();
// maximum size that will be stored in memory
factory.setSizeThreshold(4096);
// the location for saving data that is larger than getSizeThreshold()
factory.setRepository(new File("d:\\uploadFile\\addnetFile\\temp"));
ServletFileUpload upload = new ServletFileUpload(factory);
// maximum size before a FileUploadException will be thrown
upload.setSizeMax(2048000);
try{
List fileItems = upload.parseRequest(request);
// assume we know there are two files. The first file is a small
// text file, the second is unknown and is written to a file on
// the server
Iterator iter = fileItems.iterator();
// 正则匹配,过滤路径取文件名