需要两个jar包,commonsio,和commonsfileupload
DiskFileItemFactory upload=new DiskFileItemFactory();
ServletFileUpload sfu=new ServletFileUpload(upload);
try {
String realPath = this.getServletContext().getRealPath("/upload");
List<FileItem> list = sfu.parseRequest(request);
System.out.println(list.size());
for (FileItem fileItem : list) {
if(fileItem.isFormField()==false){
String path=realPath+"/"+fileItem.getName();
System.out.println(path);
File file=new File(path);
fileItem.write(file);
}
}
response.getWriter().write("success");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
遇到了一个问题,就是list始终是空的。
找来找去才知道是
form表单中,没有加name属性,只有name属性,表单中的元素才能提交请求
<form action="FileDemo" enctype="multipart/form-data" method="post">
<input type="text" name="uname">
<input type="file" name="file">
<input type="submit">
</form>