代码如下:
System.out.println("************");
DiskFileUpload fu = new DiskFileUpload();
// 设置最大文件尺寸,这里是4MB
fu.setSizeMax(4194304);
// 设置缓冲区大小,这里是4kb
fu.setSizeThreshold(4096);
// 设置临时目录:
fu.setRepositoryPath(tempPath);
System.out.println("设置成功!!!");
// 得到所有的文件:
List fileItems = fu.parseRequest(request);
System.out.println("获取文件成功!!!");
Iterator i = fileItems.iterator();
// 依次处理每一个文件:
while(i.hasNext()) {
System.out.println("i====="+String.valueOf(i));
FileItem fi = (FileItem)i.next();
// 获得文件名,这个文件名包括路径:
String fileName = fi.getName();
if(fileName!=null&&!fileName.equals("")){
System.out.println("Filename========" + fileName);
String fileName2 = fileName.substring(fileName.lastIndexOf("\\"),fileName.length());
System.out.println("fileName2=======" + fileName2);
// 在这里可以记录用户和文件信息
// ...
// 写入文件,可以从fileName中提取文件名:
String s_save = request.getSession().getServletContext().getRealPath("/test");
System.out.println("save_path===" + s_save);
fi.write(new File(s_save + fileName2));
System.out.println("upload finish");
}
}
问题:我上传txt,java,jsp这些文件都没有问题,但是上传xls,doc之类的文件,就会出错,System.out到“设置成功”,后面的“获取文件成功”就出不出来,不知道什么原因,各帮帮忙。
------解决方案--------------------------------------------------------
可能你的缓存区太小,才4K,呵呵,只是猜测而已,不敢轻易下定论!
------解决方案--------------------------------------------------------