
文件初始化
DiskFileItemFactoryfactory=newDiskFileItemFactory();
设置最大文件蛳
factory.setSizeThreshold(200*1024*1024);
//设置临时文件夹
FiletempFile=newFile("d:/");
factory.setRepository(tempFile);
factory.setSizeThreshold(200*1024*1024);
//设置临时文件夹
FiletempFile=newFile("d:/");
factory.setRepository(tempFile);
建文件项列表
ServletFileUploadupload=newServletFileUpload(factory);
ServletFileUploadupload=newServletFileUpload(factory);
//分析构成文件列表,把表单每个项都列表了,要进行判断
Listitems=upload.parseRequest(request);
Iteratoriter=items.iterator();
Listitems=upload.parseRequest(request);
Iteratoriter=items.iterator();
对列表项进行处理

while(iter.hasNext())...{
FileItemitem=(FileItem)iter.next();

while(iter.hasNext())...{
FileItemitem=(FileItem)iter.next();
//当是不是一个form项时就是一个文件项

if(!item.isFormField())...{

if(!item.isFormField())...{//获取文件名
Stringfile=item.getName();
Stringfile=item.getName();//对文件名进行分析
intpos=file.lastIndexOf(File.separator);

if(pos>0)...{
file=file.substring(pos+1);
}
Fileo=newFile(request.getRealPath("/upload")+File.separator+file);
intpos=file.lastIndexOf(File.separator);
if(pos>0)...{
file=file.substring(pos+1);
}
Fileo=newFile(request.getRealPath("/upload")+File.separator+file);
//写入文件之中
item.write(o);
}
}


}catch(IOExceptione)...{
//TODOAuto-generatedcatchblock
e.printStackTrace();
}

catch(FileUploadExceptione)...{
//TODOAuto-generatedcatchblock
e.printStackTrace();
}

catch(Exceptione)...{
//TODOAuto-generatedcatchblock
e.printStackTrace();
}

item.write(o);
}
}

}catch(IOExceptione)...{
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
catch(FileUploadExceptione)...{
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
catch(Exceptione)...{
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
本文介绍了一种使用Java实现文件上传的方法。通过初始化DiskFileItemFactory并设置最大文件大小及临时文件夹路径,创建ServletFileUpload实例来解析HTTP请求中的文件。然后遍历解析后的文件列表,并将文件保存到指定目录。
3109

被折叠的 条评论
为什么被折叠?



