首先下载两个包:commons-fileupload-1.1.1.jar和commons-io-1.2.jar(这个包必不可少哦)
放到
<% TOMECAT的目录 %>\common\lib
和<% JAVA_HOME %>\jre\lib\ext目录下
处理代码如下
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.util.List,java.util.Iterator"%>
<%@ page import="org.apache.commons.fileupload.*"%>
<%@ page import="java.io.File"%>
<html>
<head><title>upload</title></head>
<body>
<%
DiskFileUpload dfu=new DiskFileUpload();
//设置上传数据的最大大小为10M。
dfu.setSizeMax(0xA00000);
//设置内存缓冲区的阀值为512K。
dfu.setSizeThreshold(0x80000);
//设置临时存储文件的目录为E:\fileupload。
dfu.setRepositoryPath("E:\\fileupload");
//得到FileItem对象的列表。
List fileItems=dfu.parseRequest(request);
Iterator it = fileItems.iterator();
%>
<table cellpadding="3" border="1">
<%
//依次处理每个上传的文件
while (it.hasNext())
{
FileItem item = (FileItem) it.next();
//判断是否是文件域的表单信息
if (!item.isFormField())
{
String name = item.getName();
long size = item.getSize();
if((name==null || name.equals("")) && size==0)
continue;
%>
<tr>
<td><%=item.getName()%></td>
<td><%=item.getSize()%></td>
</tr>
<%
//保存上传的文件到指定的目录
File dir=new File("E:\\UploadFile");
//如果浏览器传送的文件名是全路径名,则取出文件名。
int index=name.lastIndexOf(File.separator);
if(index>0)
name=name.substring(index+1,name.length());
File file=new File(dir,name);
item.write(file);
}
else
{
%>
<tr>
<td><%=item.getFieldName()%></td>
<td><%=item.getString()%></td>
</tr>
<%
}
}
%>
</table>
</body>
</html>