`

Struts2上传文件再分解

 
阅读更多

因公司开发项目要做Struts2上传文件,前台是通过flex实现所以再现有代码基础上又深入改进了一下,先转一下别人的代码,我们的回头二次改造好后在放上来。

public void preExecute()  
    {  
        if (httpServletRequest instanceof MultiPartRequestWrapper)  
        {  
            MultiPartRequestWrapper requestWrapper = (MultiPartRequestWrapper) httpServletRequest;  
            Enumeration<String> parameterNames = requestWrapper.getFileParameterNames();  
            while (parameterNames.hasMoreElements())  
            {  
                @SuppressWarnings("unused")  
                String paramterName = parameterNames.nextElement();  
                File[] files = requestWrapper.getFiles(paramterName);  
                if (null == files || files.length == 0)  
                {  
                    continue;  
                }  
                else if (files.length == 1)  
                {  
                    FileBean fileBean = new FileBean();  
                    fileBean.setAbsolutePath(files[0].getAbsolutePath());  
                    fileBean.setFileSize(files[0].length());  
                    fileBean.setFilename(requestWrapper.getFileNames(paramterName)[0]);  
                    this.fileMap.put(paramterName, fileBean);  
                }  
                else  
                {  
                    ArrayList<FileBean> list = new ArrayList();  
                    for (int i = 0; i < files.length; i++)  
                    {  
                        File file = files[i];  
                        FileBean fileBean = new FileBean();  
                        fileBean.setAbsolutePath(file.getAbsolutePath());  
                        fileBean.setFileSize(file.length());  
                        fileBean.setFilename(requestWrapper.getFileNames(paramterName)[i]);  
                        list.add(fileBean);  
                    }  
                    this.fileMap.put(paramterName, list);  
                }  
            }  
        }  
    } 
 转自http://sdh88hf.iteye.com/?show_full=true
分享到:
评论

相关推荐

    struts2 上传文件源码

    在Struts2中,文件上传功能是常见的需求,比如用户可能需要上传图片、文档等。下面将详细介绍Struts2实现文件上传的相关知识点。 1. **Struts2核心组件** - `Action`:业务逻辑的载体,负责处理用户请求。 - `...

    struts,springMVC 上传文件需要的jar包 commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar

    以下是关于这两个库以及如何在Struts和Spring MVC中实现文件上传的详细说明。 **Apache Commons FileUpload** Apache Commons FileUpload是一个专门用于处理HTTP请求中的多部分/form-data(通常用于文件上传)的...

    struts2 标签库 帮助文档

    file标签:在页面上生成一个上传文件元素。 hidder标签:生成一个不看见的用户输入元素。 select标签:生成下拉列表框。 optiontransferselect标签:创建两个选项以及转移下拉列表项,该标签生成两个下拉列表框,...

    struts1.2 jar包

    在`struts1.2-jars`这个压缩包中,包含了Struts1.2运行所需的各个jar文件,比如`struts-core.jar`包含了框架的核心组件,`struts-tiles.jar`包含Tiles视图管理组件,`struts-taglib.jar`提供了与JSP相关的标签库,...

    Struts.2权威指南--基于WebWork核心的MVC开发.0007.pdf

    还深入探讨了如何利用Struts.2框架进行高效、安全的Web应用开发,包括但不限于表单处理、数据验证、异常处理、动态方法调用、文件上传下载、AJAX集成以及与Spring和Hibernate等其他流行框架的整合技术。 ### Struts...

    commons-fileupload-1.2.jar commons-io-1.3.1.jar上传图片jar

    在Web应用中,特别是涉及到用户提交表单并上传文件时,这个库非常有用。FileUpload库支持多部分/表单数据解析,能够将大文件分割成小块进行上传,以避免一次性加载整个文件到内存中,从而有效地管理服务器资源。它还...

    Struts2+API+标签全解+网页说明

    file标签:在页面上生成一个上传文件元素。 hidder标签:生成一个不看见的用户输入元素。 select标签:生成下拉列表框。 optiontransferselect标签:创建两个选项以及转移下拉列表项,该标签生成两个下拉列表框,...

    精通Struts基于MVC的Java Web设计与开发

    2. **Struts框架**:Struts作为MVC框架,提供了许多内置功能,如请求处理、表单验证、国际化支持、文件上传/下载、以及与各种数据库的集成等。它通过ActionServlet、ActionForm、Action和JSP等组件来实现MVC架构。 ...

    ajax框架与struts框架的最佳结合讲解

    7. **异步上传文件**:通过Ajax结合Struts,可以实现文件的异步上传,提供进度条反馈,提高用户体验。 8. **优化性能**:合理使用Ajax避免不必要的请求,结合Struts的缓存机制和分页功能,进一步提升应用性能。 在...

    struts流程

    Struts框架的处理流程体现了MVC设计模式的精髓,它将请求处理过程分解为多个步骤,每个步骤都有明确的责任,这种高度模块化的设计使得Struts应用既易于开发又易于维护。通过深入理解Struts的处理流程,开发者可以...

    commons-fileupload-1.2.2.jar和commons-io-2.0.1.jar组件

    2. **内存与磁盘管理**:当上传文件大小超出内存限制时,FileUpload可以自动将文件内容写入临时文件,避免内存溢出。 3. **文件大小限制**:允许设置最大文件大小和整个请求的总大小,以防止恶意大文件上传。 4. **...

    commons-fileupload-1.2.1.zip

    - 多部分解析:FileUpload将HTTP请求体分解为多个部分,每个部分对应一个表单字段或上传文件。它解析边界字符串,以确定每个部分的开始和结束。 - 文件存储:上传的文件可以被临时存储在内存中(对于小文件),...

    commons-fileupload-1.4.jar 和 commons-io-2.7.jar

    这两个库在Web应用开发,尤其是处理用户通过表单上传文件的情景下,扮演着重要角色。 **Apache Commons FileUpload** `commons-fileupload-1.4.jar`是Apache Commons项目的一部分,它提供了一套用于处理HTTP请求中...

    commons-fileupload

    它将整个请求分解为单独的部分,每个部分对应一个表单字段或上传文件。 2. **内存和磁盘管理**:为了处理大文件上传,FileUpload允许配置策略,将文件内容存储在内存或临时文件中。如果文件过大,超出内存限制,它...

    OA办公系统 -J2EE

    3. **文档管理**:文件上传、下载、版本控制、权限设置,支持多种格式的电子文档。 4. **任务管理**:任务分配、进度跟踪、提醒功能,便于团队协作。 5. **会议管理**:预约会议室、发布会议通知、记录会议纪要。 6....

    \tiles框架.rar

    Tiles框架,全称为Tiles2,是Apache Struts项目的一个子项目,主要用于构建MVC(Model-View-Controller)应用程序的视图层。它提供了一种组织和重用页面布局(模板)的方式,允许开发者将一个大的页面分解为小的、可...

    (论文)基于SSH软件工程专业建设网站的设计实现

    考虑到信息安全,资源上传时进行了加密处理,特别是对于文本文件和文档,以防止非授权访问导致的资源泄露。这样的设计不仅保护了教学资源的安全,也为可能涉及敏感信息的系统开发积累了经验。 此外,论文还详细探讨...

Global site tag (gtag.js) - Google Analytics