1.导包:commons-fileupload-1.2.2 & commons-io=2.0.1
2.设置上传的表单属性: <form action="dealUploadServlet" method="post" enctype="multipart/form-data"></form>
3.在dealUploadServlet进行处理:
3.1 FileItemFactory fac=new DiskItemFactory();
ServletFileUpload su=new ServletFileUpload(fac);
List<FileItem> list=su.parseRequest(request);
3.2 循环list,分别对非文件和文件域进行处理
3.2.1 非文件: if(item.isFormField()) {
//根据不同的非文件内容,存储到不同的变量中
if(item.getFieldName()=="txt")//获取 name为txt的 item
{
String txt=item.getString("utf-8");
}
}
3.2.2 文件域:
else {
//限制上传的类型
if (item.getName().substring(
item.getName().lastIndexOf(".") + 1) == "docx") {
//获取服务器端的路径
String path = this.getServletContext().getRealPath(
"upload");
File f = new File(path);
if (!f.exists()) {
//创建存储路径
f.mkdirs();
}
try {
//写入文件中
item.write(new File(path, new String(item.getName()
.getBytes(), "utf-8")));// 防止文件名称乱码问题
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
PrintWriter pw=response.getWriter();
pw.write("文件格式不是docx");
}
}