首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

servlet文件下传

2012-10-30 
servlet文件上传public String uploadFile(HttpServletRequest request){try {DiskFileItemFactory factor

servlet文件上传
public String uploadFile(HttpServletRequest request){

try {

DiskFileItemFactory factory= new DiskFileItemFactory();
ServletFileUpload upload= new ServletFileUpload(factory);
List<FileItem>  list = upload.parseRequest(request);
String encoding=request.getCharacterEncoding();
upload.setHeaderEncoding(encoding);
upload.setFileSizeMax(fileMaxSize);
for(FileItem  fileItem : list){
String fileName = fileItem.getFieldName();
if(fileItem.isFormField()){
if("send".equals(fileName)){
   edto.setSend(fileItem.getString(encoding));
}
if("incept".equals(fileName)){
edto.setIncept(fileItem.getString(encoding));
}
if("theme".equals(fileName)){
edto.setTheme(fileItem.getString(encoding));
}
if("letter".equals(fileName)){
edto.setLetter(fileItem.getString(encoding));
}
}
else{
if("file".equals(fileName)){
String sourceFilePath = fileItem.getName();
if(sourceFilePath!=""){
if(fileItem.getSize()>fileMaxSize){
return "文件过大,不能上传!";
}
HttpSession session =request.getSession();
String serverPath = session.getServletContext().getRealPath("");
String savePath = serverPath + "\\userfile";
String saveFileName =GetSaveFileName.getFileName(edto.getIncept(),edto.getSend(),sourceFilePath);
InputStream in = fileItem.getInputStream();
edto.setSaveFileName(saveFileName);

this.saveFile(savePath,saveFileName, in);

}
}
}
}

保存上传的文件到服务器:
//保存文件到服务器
private  void saveFile(String savePath,String saveFileName,InputStream in) throws IOException{

File file=new File(savePath);

if(!file.exists()){
file.mkdirs();
}

FileOutputStream out =new FileOutputStream(savePath+"\"+saveFileName);

byte [] b =new byte[1024];

int len = in.read(b);

while(len!=-1){
out.write(b, 0, len);
out.flush();
len = in.read(b);
}
out.close();
in.close();
} 悲剧了。。。

热点排行