File temp = new File(loadPath+"/temp"); if(!temp.exists()){ temp.mkdirs(); }
//file save repository factory.setRepository(new File(loadPath+"/temp")); ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(UploadConfig.FILE_MAX_SIZE); List fileItems = upload.parseRequest(request);
package com.rooyeetone.framework.util;import java.io.File;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;import javax.servlet.http.HttpServletRequest;import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;import com.rooyeetone.framework.WebManagerFactory;/**
* @author <a href="mailto:[email protected]">amos zhou</a>
* @Function:File upload
* @Since Apr 14, 2011
*
*/
public class FileUploadUtil { @SuppressWarnings("unchecked")
public static Map<String,String> upload(HttpServletRequest request) throws Exception{
DiskFileItemFactory factory = new DiskFileItemFactory();
// the cache in memory
factory.setSizeThreshold(UploadConfig.THRE_SHOLD);
String loadPath = WebManagerFactory.getManager().getSession().getServletContext().getRealPath("/")+UploadConfig.FILE_SAVE_PAHT;
File temp = new File(loadPath+"/temp");
if(!temp.exists()){
temp.mkdirs();
}
//file save repository
factory.setRepository(new File(loadPath+"/temp"));
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(UploadConfig.FILE_MAX_SIZE);
List fileItems = upload.parseRequest(request);
Iterator it = fileItems.iterator();
Map<String,String> dataMap = new HashMap<String,String>();
while(it.hasNext()){
FileItem item = (FileItem) it.next();
if(!item.isFormField()){
processUploadFile(loadPath,item,dataMap);
}else{
processFormField(item,dataMap);
}
}
return dataMap;
}
/**
*
* @Function:handle form field
* @Since Apr 14, 2011
* @param item
* @param dataMap
*/
private static void processFormField(FileItem item,Map<String,String> dataMap){
String fieldName = null;
String value = null;
try {
fieldName = item.getFieldName();
value = item.getString("UTF-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
dataMap.put(fieldName, value);
}
/**
*
* @Function:handle file upload
* @Since Apr 14, 2011
* @param loadPath
* @param item
* @throws Exception
* @throws Exception
*/
private static void processUploadFile(String loadPath, FileItem item,Map<String,String> dataMap) throws Exception{
String name = String.valueOf((new Date()).getTime());
String fieldName = item.getFieldName();
String tempName = item.getName();
//don't upload file yet
if(BlankUtil.isBlank(tempName)){
return;
}else{
name = name + tempName.substring(tempName.indexOf("."));
File newFile = new File(loadPath, name);
item.write(newFile);
dataMap.put(fieldName, UploadConfig.FILE_SAVE_PAHT+"/"+name);
}
}
}
DiskFileItemFactory factory = new DiskFileItemFactory();
这行的时候。我debug进去。然后程序在里面跑了一会后,不运行。这个是什么情况啊。也不报错。也不往下运行。难道我的jar包有问题?