- 浏览: 668108 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (608)
- Java (125)
- Struts (16)
- Spring (19)
- iBatis (11)
- Hibernate (14)
- Oracle (33)
- Mysql (22)
- JBoss (4)
- JavaScript (46)
- Ajax (9)
- jQuery (5)
- web (25)
- Html (14)
- Exception (26)
- Linux (106)
- Vim (11)
- Python (12)
- ComputerTech (25)
- 文章 (50)
- Maven (20)
- FreeMarker (5)
- Json (0)
- Tomcat (6)
- ActiveMQ (2)
- Test (1)
- Git (5)
- Shell (1)
- 《Java并发编程实践》 (2)
- 产品设计 (1)
- xxx (0)
- diamond (1)
- dubbo (1)
- Raspbian (1)
- IDE (3)
- 并发编程 (1)
最新评论
-
mikzhang:
抱歉,写这篇文章时,博主开发的程序只面对IE浏览器,故没考虑其 ...
JS 中改变confirm默认按钮提示“确定""取消" -
poterliu:
测试过了,发现execScript方法只支持IE浏览器。目前已 ...
JS 中改变confirm默认按钮提示“确定""取消"
//提交注册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<files.length;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<files.length;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;
}
}
发表评论
-
Java_判断线程池所有任务是否执行完毕
2016-12-20 10:31 1685via: http://blog.csdn.net/truo ... -
Java_OGNL
2016-12-06 15:34 432via: http://www.cnblogs.com/q ... -
Java_String.format
2016-03-25 15:44 528常规类型的格式化 String类的format()方法用于 ... -
Java_堆和栈
2016-02-18 15:25 483堆栈空间 栈(操作系统):由操作系统自动分配释放 , ... -
Java_4类8种数据类型
2016-02-18 14:51 871ref: http://www.cnblogs.com/s ... -
Java_图解jsp与Servlet的关系
2016-01-21 18:11 350Servlet是Java提供的用于 ... -
Java_http请求接口
2016-01-15 14:32 558Java调用第三方厂商提供了http接口 在多人 ... -
Java_enum
2016-01-12 11:08 526ref: http://www.cnblogs.com/h ... -
Java_Jdbc_连接池的testQuery/validationQuery设置
2015-12-30 18:03 667via: http://blog.sina.com.cn/s ... -
Java_log4j_log4j.properties 详解
2015-12-30 17:38 610log4j.properties 详解 一.参数意义说明输 ... -
Java_ArrayList_排序
2015-12-25 11:53 461via: http://www.importnew.com ... -
Java_Session
2015-12-23 17:23 698via: http://blog.sina.com.cn/s ... -
Java_Thread_join()
2015-12-13 10:31 454MSDN:Blocks the calling thre ... -
Java_Thread的六种状态
2015-12-02 16:30 497/** * A thread state. ... -
Java_引用类型
2015-11-30 11:04 460java中四种引用类型 ... -
Java_编程中线程池的最大性能开发与风险规避
2015-11-30 10:58 422Java编程中线程池的最 ... -
Spring_@Autowired Vs Java_@Resource 的区别
2015-11-24 10:13 691一、 @Autowired和@Resource都可以用来装 ... -
Java_设计与开发 JAX-WS 2.0 Web 服务
2015-11-20 13:18 414via: http://www.ibm.com/develo ... -
Java_接口&抽象类
2015-12-29 22:43 5071.实现继承与接口继承 实现继承通常情况下表现为对 ... -
Java_继承、实现、依赖、关联、聚合、组合的联系与区别
2015-11-19 11:33 1051ref: http://blog.csdn.net/ke ...
相关推荐
该问题是指在jsp项目中上传文件后,重启Tomcat服务器或清理缓存时,上传的文件会自动删除的问题。 问题分析 在jsp项目中,我们通常使用DefaultServlet来处理文件上传请求。但是,在重启Tomcat服务器或清理缓存时,...
4. **配置Yum源**:更新完成后,清空缓存,确保新源生效。 5. **Oracle数据库**:上传Oracle 11g数据库安装包和preoraenv脚本文件,这些文件可以通过附录中的指示获取。执行相应的安装命令来开始Oracle实例的安装...
- **EvictInterceptor**:用于清空缓存。 - **CacheKit**:提供一系列方便使用的缓存操作方法。 7. **RedisPlugin** - **概述**:集成Redis缓存系统。 - **RedisPlugin**:配置Redis插件。 通过上述内容可以...
- **部署步骤**:将.jar文件上传到Web服务器、生成安装页面、测试安装链接。 #### 三、使用项目 ##### 3.1 选择API - **API选择**:根据应用程序的需求选择合适的API,如WMA用于短信和彩信支持,MMAPI用于多媒体...
3. **1台文件服务器(包含redis)**:存储共享文件资源及使用Redis作为缓存数据库。 4. **1台MySQL服务器**:提供关系型数据库服务,支持各种业务数据存储需求。 5. **1台dubbo服务器(注册中心zookeeper、管理...
【Agent】解决首页控制台 java 进程列表慢的问题(采用定时拉取并缓存) 【server】fix bug: 节点列表页面,展开某个节点之后点击操作按钮会出现新的一行无效数据 【server】fix bug: 节点列表页面,在没有安装节点...
01.修正服务器清空缓存之后版块帖子统计自动清零的bug。 02.修正Sql版论坛数据库无法清理的bug。 03.论坛首页可以添加版块图片了。你可以在后台为每个版块添加一个面积不大于150*48像素的图片作为版块标志。 如果...
01.修正服务器清空缓存之后版块帖子统计自动清零的bug。 02.修正Sql版论坛数据库无法清理的bug。 03.论坛首页可以添加版块图片了。你可以在后台为每个版块添加一个面积不大于150*48像素的图片作为版块标志。 如果...