<%
request.setCharacterEncoding("utf-8");
String uploadFileName="";//上传的文件名
String fieldName="";//表单字段元素的name属性
//请求信息中的内容是否是multipart类型
boolean isMultipart=ServetFileUpload.isMultipartContent(request);
//上传文件的存储路径(服务器文件系统上的绝对文件路径)
String uploadFilePath=request.getSession().getServletContext().getRealPath("upload/");
if(isMultipart){
FileItemFactory factory=new DisFileItemFactory();
ServleFileUpload upload=new ServletFileUpload(factory);
try{
//解析form表单中的所有文件
List<FileItem> items=upload.parseRequest(request);
Iterator<FileItem> iter=items.iterator();
while(iter.hasNext()){//依次处理每个文件
FileItem item=(FileItem)iter.next();
if(item.isFormField()){//普通表单字段
fieldName=item.getFieldName();//表单字段的name属性值
if(fieldName.equals("user")){
//输出表单字段的值
out.print(item.getString("utf-8")+"上传了文件。<br>");
}
}else{//文件表单字段
String fileName=item.getName();
if(fileName!=null&&!fileName.equals("")){
File fullFile=new File(item.getName());
File saveFile=new File(uploadFilePath,fullFile.getName());
item.write(saveFile);
uploadFileName=fullFile.getName();
out.print("上传文件成功后的文件名是:"+uploadFileName);
}
}
}
}catch(Exception e){
e.printStackTrace();
}
}
%>