写道
//创建解析工厂
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setRepository(new File(this.getServletContext().getRealPath("/WEB-INF/temp")));//设置文件缓存目录
factory.setSizeThreshold(1024*1024);
//创建解析器
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setHeaderEncoding("UTF-8");
upload.setSizeMax(-1);
//解析request得到封装FileItem的list
try{
List<FileItem> list = upload.parseRequest(request);//list.size() is 0
for(int i=0; i<list.size(); i++) {
FileItem item = (FileItem)list.get(i);
if(!item.isFormField()){
String name = item.getName();
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setRepository(new File(this.getServletContext().getRealPath("/WEB-INF/temp")));//设置文件缓存目录
factory.setSizeThreshold(1024*1024);
//创建解析器
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setHeaderEncoding("UTF-8");
upload.setSizeMax(-1);
//解析request得到封装FileItem的list
try{
List<FileItem> list = upload.parseRequest(request);//list.size() is 0
for(int i=0; i<list.size(); i++) {
FileItem item = (FileItem)list.get(i);
if(!item.isFormField()){
String name = item.getName();
1.temp目录是在程序中设定用来做文件上传的临时目录用的.
2.被删掉后,文件大小超过设置的1024*1024字节后,就会使用到临时目录,这时如果临时目录没有,就会出现错误。
3.重新在“/WEB-INF”目录下添加上“temp”目录,错误就解决了