`

struts2文件上传的采用的三种方式解析

阅读更多

上传就是将信息从个人计算机(本地计算机)传递到中央计算机(远程计算机)系统上,让网络上的人都能看到。将制作好的网页、文字、图片等发布到互联网上去,以便让其他人浏览、欣赏。这一过程称为上传。

1 SmartUpload 用的最多的一个组件,已经不再更新了,可以实现上传和下载

3 J2KUpload java2000实现的文件上传组件,全部使用内存,适合多个不超过10M的小文件

1、/** 按copy方式上传 */

public String uploadFile(){     

    /**保存的具体路径*/    

    String savepath = getSavePath();     

    /**根据保存的路径创建file对象*/    


    File file = new File(savepath);     


    if(!file.exists()){     


        /**创建此文件对象路径*/    

        file.mkdirs();     
    }     

    try {     


        /**使用的是:org.apache.commons.io.FileUtils FileUtils*/    


        FileUtils.copyFile(pic, new File(file,getPicFileName()));     


    } catch (IOException e) {     

        e.printStackTrace();     
    }     

    return SUCCESS;     

}  



1、getSavePath()方法中,ServletActionContext().getServletContext().getRealPath

2、我个人认为这种方式是简单易用的。按copy方式上传使用的是Apache公司的

2、/** 按字节方式上传 */


public String uploadFile(){          

    /** 文件的写操作 */      


    FileInputStream fis = null;      


    FileOutputStream fos = null;     


        /** 保存的路径 */    

    String savepath = getSavePath();     

    /** 根据保存的路径创建file对象 */    


    File file = new File(savepath);     


    /** file对象是否存在   */    


    if (!file.exists()) {     


        /** 创建此文件对象路径  */    

        file.mkdirs();     
    }     

    try {     


        /** 创建输入流 */    


        fis = new FileInputStream(pic);     


        /** 输出流 更据文件的路径+文件名称创建文件对象 */    


        fos = new FileOutputStream(file + "//" + getPicFileName());     


        /** 读取字节   */    


        byte b[] = new byte[1024];     


        int n = 0;     


        /** 读取操作   */    


        while ((n = fis.read(b)) != -1) {     


            /** 写操作   */    


            fos.write(b, 0, n);     

        }     

        /** 关闭操作  */    


        if (fis != null) {     

            fis.close();     
        }     

        if (fos != null) {     

            fos.close();     
        }     

    } catch (Exception e) {     

        e.printStackTrace();     
    }     

    return SUCCESS;     

}   



public String uploadFile(){     

    /** 文件的写操作 */    


    BufferedReader br =null;     


    BufferedWriter bw = null;        


    /** 保存的路径 */    

    String savepath = getSavePath();     

    /** 根据保存的路径创建file对象   */    


    File file = new File(savepath);     


    /** file对象是否存在  */    


    if (!file.exists()) {                


        /** 创建此文件对象路径  */    

        file.mkdirs();     
    }     

    try {     


        /**   创建一个BufferedReader  对象*/    


        br = new BufferedReader(new InputStreamReader(new FileInputStream     

    
(pic)));                 

        bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream     

    

(file + "//" + getPicFileName())));     

                 

        // 读取字节     


        char b[] = new char[1024];     


        int n = 0;     


        // 读取操作     


        while ((n = br.read(b)) != -1) {     


            // 写操作     


            bw.write(b, 0, n);     

        }     

        // 关闭操作     


        if (br != null) {     

            br.close();     
        }     

        if (bw != null) {     

            bw.close();     
        }     

    } catch (Exception e) {     

        e.printStackTrace();     
    }     

    return SUCCESS;     

}   


引自:http://developer.51cto.com/art/201105/259767.htm
分享到:
评论

相关推荐

    struts2文件上传jar

    Struts2是一个流行的Java web框架,它为开发者提供了一种结构化的方式来构建MVC(Model-View-Controller)应用程序。在Struts2中,文件上传是常见的功能,用于允许用户在网页上上传文件到服务器。这个压缩包包含了...

    struts2文件上传的两种方法

    Struts2提供了两种主要的文件上传方式:单文件上传和多文件上传。下面将详细介绍这两种方法及其相关知识点。 一、单文件上传 1. **配置Struts2核心过滤器**:首先,需要在web.xml中配置`struts2-convention-plugin...

    struts2文件上传实例

    4. **文件解析**:Struts2支持两种方式处理文件上传:原生的Servlet API和Apache Commons FileUpload库。后者更为常用,因为它提供了更丰富的功能,如处理大文件分块上传、内存和磁盘存储策略等。在Action类中,你...

    Struts2多个文件上传

    Struts2本身并不包含一个内置的请求解析器来处理文件上传。相反,它依赖于第三方库,如Jakarta和Commons-FileUpload,来解析HTTP请求中的文件数据。Struts2对这些库进行了封装,使得文件上传的代码更加简洁,同时...

    struts2文件上传和下载

    4. **文件下载**: Struts2提供了一种简单的方式处理文件下载。在Action类中,你可以创建一个方法返回文件流。使用`response.setHeader()`设置HTTP响应头,如`Content-Disposition`来指定文件名,以及`Content-Type`...

    Struts2文件上传源码

    Struts2是一个流行的Java Web框架,它为开发者提供了一种优雅的方式来构建可维护、可扩展且结构清晰的Web应用程序。在Struts2中,文件上传是常见的功能之一,尤其是在处理用户提交表单时,比如上传图片、文档等。...

    struts2 文件上传

    Struts2 文件上传是Web开发中的一个重要功能,它允许用户通过网页上传文件到服务器。Struts2 是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,提供了丰富的特性和强大的控制层功能,使得文件上传...

    struts2文件上传

    Struts2 文件上传是Web开发中的一个重要功能,它允许用户从他们的本地计算机向服务器传输文件。在Struts2框架中,文件上传是通过特定的拦截器实现的,这些拦截器处理了文件上传请求并提供了安全性和大小限制。下面将...

    Struts2之struts2文件上传详解案例struts011

    在这个"Struts2之struts2文件上传详解案例struts011"中,我们将深入探讨如何实现这一功能。 首先,我们需要了解Struts2中的Action类,它是处理用户请求的核心组件。为了支持文件上传,我们需要创建一个继承自`org....

    struts2文件上传例子.rar

    在处理文件上传时,Struts2会使用`Commons FileUpload`库,这个库提供了解析多部分HTTP请求的能力。每个上传的文件会被封装成`FileItem`对象,我们可以遍历这些对象,对每个文件进行处理。例如,将文件保存到服务器...

    JavaEE Struts文件上传

    2. **添加Struts2插件**:Struts2的文件上传功能依赖于`struts2-convention-plugin`和`struts2-core`等库。在`struts.xml`配置文件中,需要启用Multipart解析器,例如添加`<constant name="struts.multipart.parser...

    struts2+jquery+ajax文件异步上传

    在文件上传场景中,Struts2主要负责接收前端发送的文件数据,并将这些数据存储到服务器的指定位置。配置Struts2的Action类和相应的XML配置文件,可以定义文件上传的处理逻辑。 接着,jQuery是一个高效、简洁的...

    Struts2文件上传程序示例

    Struts2文件上传程序是一个典型的企业级Web应用开发中的功能,它允许用户通过网页将本地文件上传到服务器。Struts2作为一款强大的MVC(Model-View-Controller)框架,提供了丰富的功能支持,包括文件上传。这个示例...

    struts2 文件上传 测试通过版

    Struts2是一个强大的Java web应用程序框架,它提供了一种组织和构建MVC(模型-视图-控制器)架构的方式。在Struts2中,文件上传功能是常见的需求,特别是在处理用户提交表单时,比如上传图片、文档等。本文将详细...

    struts2文件上传与下载

    在Struts2中,文件上传和下载是常见的功能需求,主要用于处理用户在Web表单中提交的文件,如图片、文档等。下面将详细介绍Struts2中文件上传和下载的实现方法。 ### 1. 文件上传 #### 1.1 配置Struts2 首先,我们...

    Struts2.0 文件上传与下载全解析

    本篇文章将全面解析Struts2.0中的文件上传和下载流程。 ### 文件上传 文件上传的核心在于`multipart/form-data`编码类型,这是HTML表单用于上传文件的必需属性。在示例中,我们看到一个简单的Struts2表单,其中...

    struts2文件上传下载实例

    在“struts2文件上传下载实例”中,我们将探讨如何在Struts2框架下实现文件的上传和下载功能,这对于许多Web应用程序来说是必不可少的特性。 首先,`pom.xml`文件是Maven项目对象模型的配置文件,它定义了项目的...

    通过Servlet文件上传理解Struts2文件上传原理(附源码)

    Struts2框架利用了Servlet API,但提供了一种更抽象和灵活的方式来处理文件上传。它使用Interceptor(拦截器)机制,其中`FileUploadInterceptor`负责处理上传的文件。在Struts2配置中,你需要添加`params`和`...

    struts框架-文件上传下载

    2. Struts2中的文件上传:Struts2提供了更简洁的文件上传方式。在JSP页面中,可以使用`<s:file>`标签来创建文件选择控件。在Action类中,使用`@SkipValidation`注解标记文件上传方法,然后定义对应的`java.io.File`...

Global site tag (gtag.js) - Google Analytics