serlvet + velocity的项目,用fileupload实现上传文件,出现的问题,请高手过目
public ModelAndView create(HttpServletRequest request,HttpServletResponse response) {
String tmpPath ="c:\\tempdir";
String savePath = "c:\\saveDir";
File temDir = new File(tmpPath);
File saveDir = new File(savePath);
if(!temDir.isDirectory()){
temDir.mkdir();
}
if(!saveDir.isDirectory()){
saveDir.mkdir();
}
DiskFileItemFactory dff = new DiskFileItemFactory();
dff.setRepository(temDir);
dff.setSizeThreshold(1024*1000);
ServletFileUpload sfu = new ServletFileUpload(dff);
try {
List<FileItem> fileitems = sfu.parseRequest(request);
System.out.println("fileitems大小为:" + fileitems.size());
Iterator<FileItem> iter = fileitems.iterator();
while(iter.hasNext()){
FileItemStream fis = (FileItemStream) iter.next();
if(!fis.isFormField() && fis.getName().length()>0){
String filename = fis.getName().substring(fis.getName().lastIndexOf(".")+1);
System.out.println("filename=" + filename);
BufferedInputStream in = new BufferedInputStream(fis.openStream());
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(new File(saveDir+filename)));
Streams.copy(in, out, true);
System.out.println("上传完毕");
}
}
} catch (FileUploadException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Map<String, Object> beanMap = new HashMap<String, Object>();
return new ModelAndView(getPreCreateView(),beanMap);
}
}
servlet中的代码以上,经过调试,发现运行到List<FileItem> fileitems = sfu.parseRequest(request); 的时候
取到的List始终为空的,求高手指点迷津