//提交注册3 && 上传相关图片public ActionForward reg_enterprise_3(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException { UserInfo userinfo = (UserInfo)request.getSession().getAttribute("willRegUser"); int uid = this.getUserInfoService().insert(userinfo); String mark = StringUtils.getParameter(request, "mark", ""); if("jump_jiucool".equalsIgnoreCase(mark)){
ActionForward gotourl = new ActionForward();
gotourl.setPath("/reg_enterprise4.jsp);
gotourl.setRedirect(true);
return gotourl; } CookieUtils.setCookie(request, response, "umobile_jiucool", userinfo.getMsisdn(),60*60*24*30); CookieUtils.setCookie(request, response, "uemail_jiucool", userinfo.getEmail(),60*60*24*30); CookieUtils.setCookie(request, response, "uid_jiucool", String.valueOf(userinfo.getId()),60*60*24*30); request.getSession().setAttribute(Constants.USER_SESSION, new SessionUser(userinfo.getId())); String tempFilePath = Constants.PIC_UPLOAD_PATH + "enterprisePic/temp" + "/"; try {
File file = new File(tempFilePath);
if(!file.exists()){
file.mkdirs();
}
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setSizeThreshold(4*1024);
factory.setRepository(new File(tempFilePath));
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(4*1024*1024);
List items = upload.parseRequest(request);
Iterator iter = items.iterator();
Integer type=0;
while(iter.hasNext()){
FileItem item = (FileItem)iter.next();
String filename = item.getFieldName();
if(filename.equalsIgnoreCase("uploadface")){
type=1;
}else if(filename.equalsIgnoreCase("uploadidcard")){
type=2;
}
if(!item.isFormField()){
this.processUploadedFile(item, userinfo, type);
}
}
Boolean flag = true;
File dirFile = new File(tempFilePath);
File[] files = dirFile.listFiles();
for(int i=0;i
//删除子文件
if(files[i].isFile()){
flag = deleteFile(files[i].getAbsolutePath());
if(!flag){
break;
}
}
//删除子目录
else{
flag = deleteDirectory(files[i].getAbsolutePath());
if(!flag){
break;
}
}
}
}catch(Exception e){
throw new ServletException(e); }
ActionForward gotourl = new ActionForward(); gotourl.setPath("/reg_enterprise4.jsp?uid=" + userinfo.getId()); gotourl.setRedirect(true); return gotourl;}private void processUploadedFile(FileItem item,UserInfo userinfo,Integer type) throws Exception{ String filename = item.getName(); int index=filename.lastIndexOf("\\"); filename = filename.substring(index+1, filename.length()); long fileSize = item.getSize(); if(filename.equals("") && fileSize ==0)return; String suffixName =
item.getName().substring(
item.getName().lastIndexOf(".")); if(".png".equalsIgnoreCase(suffixName) || ".jpg".equalsIgnoreCase(suffixName)
|| ".gif".equalsIgnoreCase(suffixName) || ".jpeg".equalsIgnoreCase(suffixName)){
// 数据库存入路径
filename = System.currentTimeMillis() + suffixName;
String adFileName ="";
if(type==1){
adFileName = StringUtils.replaceChar(userinfo.getId()*11,"-") + "/" + DateUtils.format("yyyMMdd", new Date()) + "/";
FileUtils.saveFileStream(item.getInputStream(),Constants.FACE_UPLOAD_PATH , adFileName + filename);
userinfo.setFace("/" + adFileName + filename);
this.getUserInfoService().update(userinfo);
}else if(type==2){
adFileName = "enterprisePic/" + "idcard" + "/" + DateUtils.format("yyyMMdd", new Date()) + "/";
userinfo.setComidcard(adFileName + filename);
}else if(type==3){
adFileName = "enterprisePic/" + "comlicense" + "/" + DateUtils.format("yyyMMdd", new Date()) + "/";
userinfo.setComlicense(adFileName + filename);
}
if(type>1){
this.getUserInfoService().update(userinfo);
FileUtils.saveFileStream(item.getInputStream(),Constants.PIC_UPLOAD_PATH,adFileName + filename);
}
} }
/**
* 删除单个文件
* @param
fileName
被删除文件的文件名
* @return 单个文件删除成功返回true,否则返回false
*/
public static boolean deleteFile(String fileName){
File file = new File(fileName);
if(file.isFile() && file.exists()){
file.delete();
return true;
}else{
return false;
}
}
/**
* 删除目录(文件夹)以及目录下的文件
* @param
dir 被删除目录的文件路径
* @return
目录删除成功返回true,否则返回false
*/
public static boolean deleteDirectory(String dir){
//如果dir不以文件分隔符结尾,自动添加文件分隔符
if(!dir.endsWith(File.separator)){
dir = dir+File.separator;
}
File dirFile = new File(dir);
//如果dir对应的文件不存在,或者不是一个目录,则退出
if(!dirFile.exists() || !dirFile.isDirectory()){
System.out.println("删除目录失败"+dir+"目录不存在!");
return false;
}
boolean flag = true;
//删除文件夹下的所有文件(包括子目录)
File[] files = dirFile.listFiles();
for(int i=0;i
//删除子文件
if(files[i].isFile()){
flag = deleteFile(files[i].getAbsolutePath());
if(!flag){
break;
}
}
//删除子目录
else{
flag = deleteDirectory(files[i].getAbsolutePath());
if(!flag){
break;
}
}
}
if(!flag){
System.out.println("删除目录失败");
return false;
}
//删除当前目录
if(dirFile.delete()){
System.out.println("删除目录"+dir+"成功!");
return true;
}else{
System.out.println("删除目录"+dir+"失败!");
return false;
}
}