`
Wind_ZhongGang
  • 浏览: 264738 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

FileCleanerCleanup and ProgressListener in Commons fileupload

阅读更多

  Commons fileupload组件提供了两个辅助类和接口。

 

   第一个是FileCleanerCleanup,用于控制文件上传过程时产生的临时文件因未能及时删除而且做的文件清除工作。使用它只需要在Web项目的部署描述文件web.xml中添加一个监听器即可。

 

<listener>
        <listener-class>org.apache.commons.fileupload.servlet.FileCleanerCleanup</listener-class>
</listener>

 

  该监听器会启动一个FileCleaningTracker,即文件清除跟踪器用于清除临时文件,节省磁盘空间。在FileCleaningTracker中,有一个reaper属性,类型为Thread,该收割机线程会开展临时文件清除的工作。

 

  第二个是ProgressListener接口,用于监听文件上传的进度,需要实现该功能,只需要自定义一个实现该接口的类,在接口方法中定义自定义实现即可。

 

 

package com.dream.file;

import org.apache.commons.fileupload.ProgressListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * Created by IntelliJ IDEA.
 * User: Zhong Gang
 * Date: 11-9-4
 * Time: 上午10:18
 */
public class FileUploadProgressListener implements ProgressListener {
    private Logger logger = LoggerFactory.getLogger(FileUploadProgressListener.class);

    /**
     * Updates the listeners status information.
     *
     * @param pBytesRead     The total number of bytes, which have been read
     *                       so far.
     * @param pContentLength The total number of bytes, which are being
     *                       read. May be -1, if this number is unknown.
     * @param pItems         The number of the field, which is currently being
     *                       read. (0 = no item so far, 1 = first item is being read, ...)
     */
    @Override
    public void update(long pBytesRead, long pContentLength, int pItems) {
        if (pBytesRead % 1024 == 0) {
            long percent = (pBytesRead / pContentLength) * 100;
            logger.info("Has uploaded the file of " + percent + "%.");
        }
    }
}

 

  自定义文件上传进度监听器后,还需要注入到FileUpload类中去。

1
4
分享到:
评论

相关推荐

    开发工具 commons-fileupload-1.3.2

    开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2...

    Apache Commons FileUpload 1.3.2 released

    Commons FileUpload 1.3.2. The Apache Commons FileUpload component provides a simple yet flexible means of adding support for multipart file upload functionality to servlets and web applications. ...

    commons commons-fileupload历史版本jar包集合

    commons commons-fileupload历史版本jar包集合,包括src源码 附件列表: commons-fileupload-1.0.zip commons-fileupload-1.1.1.zip commons-fileupload-1.1.zip commons-fileupload-1.2.1-bin.zip commons-...

    commons-fileupload-1.4-API文档-中文版.zip

    赠送jar包:commons-fileupload-1.4.jar; 赠送原API文档:commons-fileupload-1.4-javadoc.jar; 赠送源代码:commons-fileupload-1.4-sources.jar; 赠送Maven依赖信息文件:commons-fileupload-1.4.pom; 包含...

    commons fileupload

    Commons FileUpload是Apache组织提供的一款强大的Java文件上传处理组件,常用于Web应用中处理用户通过表单上传的文件。在Web开发中,尤其是在涉及到用户上传照片、文档等大文件时,FileUpload组件提供了方便、高效的...

    commons-fileupload-1.4-bin.zip

    《Apache Commons FileUpload组件详解》 Apache Commons FileUpload是一个用于处理HTTP请求中多部分数据的Java库,尤其在上传文件时极为有用。标题中的"commons-fileupload-1.4-bin.zip"表明这是一个包含Apache ...

    commons-fileupload-1.3.2jar包和commons-io-2.5jar包.zip

    Apache Commons FileUpload与Apache Commons IO是Java开发中处理文件上传和I/O操作的重要库。这两个库在处理Web应用,特别是基于JSP(JavaServer Pages)的文件上传功能时,扮演着核心角色。在这个主题中,我们将...

    commons-fileupload-1.3.3.zip

    Apache Struts2 Commons FileUpload反序列化远程代码执行漏洞安全公告 安全公告编号:CNTA-2018-0029 2018年11月7日,国家信息安全漏洞共享平台(CNVD)收录了Apache Struts2 Commons FileUpload反序列化远程代码...

    commons-fileupload-1.3.3-API文档-中文版.zip

    赠送jar包:commons-fileupload-1.3.3.jar; 赠送原API文档:commons-fileupload-1.3.3-javadoc.jar; 赠送源代码:commons-fileupload-1.3.3-sources.jar; 赠送Maven依赖信息文件:commons-fileupload-1.3.3.pom;...

    Apache Commons FileUpload jar

    Apache Commons FileUpload jar Apache Commons FileUpload jar Apache Commons FileUpload jar

    commons-fileupload和commons-io的jar包

    Apache Commons FileUpload与Apache Commons IO是Java开发中两个非常重要的库,它们主要用于处理文件上传和I/O操作。这两个库在Web应用、数据处理以及文件管理等领域广泛应用。 Apache Commons FileUpload库是一个...

    commons-fileupload-1.3.3&commons-fileupload-1.3.3架包和代码.rar

    标题中的"commons-fileupload-1.3.3&commons-fileupload-1.3.3架包和代码.rar"提到了Apache Commons FileUpload的1.3.3版本的库及其源码。Apache Commons FileUpload是一个Java库,专门用于处理HTTP协议中的多部分...

    commons-fileupload-1.4 jar包.rar

    《Apache Commons FileUpload详解》 在Java开发中,处理用户上传文件是一项常见的任务。Apache Commons FileUpload组件就是为了解决这一问题而设计的,它提供了一套完整的解决方案,使得开发者可以方便、高效地处理...

    commons-fileupload-1.3.3-bin

    Apache Commons是Apache软件基金会的一个项目,致力于提供高质量的Java组件,而FileUpload就是其中的一个组件。 在Web开发中,文件上传通常是一个复杂的过程,涉及到多个步骤和潜在的问题,如文件大小限制、多部分...

    commons-fileupload-1.3.1.jar

    Apache Commons FileUpload库简化了这一过程,提供了高效且灵活的文件上传解决方案。 Apache Commons是Apache软件基金会的一个项目集合,它提供了许多实用工具类和组件,用于解决Java编程中的常见问题。"commons...

    Jakarta Commons FileUpload 用户指南

    ### Jakarta Commons FileUpload 用户指南知识点总结 #### 一、FileUpload 概览 - **Jakarta Commons FileUpload** 是一个用于处理HTTP文件上传的Java库,它基于**RFC1867**标准来解析和处理文件上传请求。 - **...

    commons-fileupload-1.3.3-bin.tar.gz

    标题中的"commons-fileupload-1.3.3-bin.tar.gz"是一个压缩包文件,包含了Apache Commons FileUpload 1.3.3版本的二进制(bin)文件,通常包括JAR库和其他必要的资源。 Apache Commons FileUpload的工作原理是基于...

    commons-fileupload-1.3.jar和commons-io-1.2.jar.zip

    在这个场景中,我们关注的是"commons-fileupload-1.3.jar"和"commons-io-1.2.jar"这两个文件,它们被打包在一个名为"commons-fileupload-1.3.jar和commons-io-1.2.jar.zip"的压缩文件中。 **Apache Commons ...

    commons-fileupload-1.3.2.jar

    这个"commons-fileupload-1.3.2.jar"是该库的1.3.2版本,它支持Java Development Kit (JDK) 1.5及以上版本。在本文中,我们将深入探讨Apache Commons FileUpload库的核心功能、特性以及如何在实际项目中使用它。 ...

    maven实现的commons-fileupload的demo

    在Java Web开发中,文件上传是一项常见的功能,Apache Commons FileUpload库是实现这一功能的强大工具。本示例将深入解析如何结合Maven构建一个基于Servlet的文件上传演示项目。Maven是一个项目管理工具,它可以帮助...

Global site tag (gtag.js) - Google Analytics