`

struts2 单个文件上传

阅读更多

upload.jsp

-------------------------------------------------------------------------------------------------------------------------

<body>
        <form action="control/employee/list" method="post" enctype="multipart/form-data">
            文件:<input type="file" name="upload"> <br />
            <input type="submit" value="提交">
        </form>
    </body>

 

 

UploadAction.java

 

-------------------------------------------------------------------------------------------------------------------------

 

package org.taink.struts.action;

import java.io.File;
import java.io.IOException;

import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionContext;

public class UploadAction{
    private File upload;
    private String uploadContentType;
    private String uploadFileName;

    public void setUpload(File upload) {
        this.upload = upload;
    }

    public void setUploadContentType(String uploadContentType) {
        this.uploadContentType = uploadContentType;
    }

    public void setUploadFileName(String uploadFileName) {
        this.uploadFileName = uploadFileName;
    }

    public String execute() throws IOException {

        System.out.println("文件临时位置: " + upload);
        System.out.println("文件名称: " + uploadFileName);
        System.out.println("文件类型: " + uploadContentType);
        System.out.println("文件大小: " + upload.length());

        // 根据文件夹名称,获得服务器的真实路径
        String realPath = ServletActionContext.getServletContext().getRealPath(
                "images");
        // 根据文件夹路径构造出一个文件对象
        File saveFile = new File(realPath);
        // 如果文件路径不存在就创建文件夹
        if (!saveFile.exists()) {
            saveFile.mkdirs();
        }
        if (null != upload) {
            // 将临时文件夹中的文件复制到指定的文件夹中
            FileUtils.copyFile(upload, new File(saveFile, uploadFileName));
            ActionContext.getContext().put("message", "上传文件成功");
        }
        return "success";
    }

}

 

 

分享到:
评论

相关推荐

    Struts2单个文件上传

    在Struts2中实现单个文件上传是一项常见的任务,它允许用户通过网页选择本地文件并将其上传到服务器。这个“Struts2单个文件上传”示例提供了完整的功能,包括对上传文件大小和类型的限制,确保了服务端的安全性。 ...

    Struts2 单个、批量文件上传 精简源码

    Struts2提供了强大的文件上传支持,包括单个文件上传和批量文件上传。在这个精简源码案例中,我们将探讨这两种模式的实现方式。 首先,我们来了解一下Struts2单个文件上传的基本概念。在Struts2中,文件上传主要...

    Struts2实现单个文件多个文件上传与下载-多个拦截器

    本项目主要展示了如何在Struts2框架下实现单个文件和多个文件的上传及下载,并且运用了多个拦截器来增强功能和安全性。 首先,让我们详细了解一下文件上传的过程。在Struts2中,文件上传主要依赖于`struts2-...

    struts2文件上传源码和步骤

    2. **Struts2 单个文件上传**: - **方式一**: 在这个例子中,我们创建了一个名为 `UploadAction` 的 Action 类。其中,`File` 类型的 `image` 属性用于接收上传的文件,`String` 类型的 `imageFileName` 和 `...

    struts2实现文件上传(单个+多个文件上传

    本文将详细介绍如何在Struts2中实现单个文件的上传。 ##### JSP 页面设计 首先,我们需要在前端JSP页面上设计一个用于文件上传的表单。为了使Struts2能够识别并处理上传文件,表单需要包含特定的属性。下面是一个...

    struts2的单个文件上传

    本文主要两种方式,一:通过 FileUtils.copyFile(file, savefile);方法复制;二:通过字节流方式复制 ; web.xml struts.xml, struts.properties, UploadAction.java, index.jsp. success.jsp

    Struts2文件批量上传

    Struts2是一个强大的MVC框架,它提供了丰富的功能来支持文件上传操作,包括单个文件上传和批量文件上传。 在Struts2中,文件上传的核心组件是`Commons FileUpload`库,这是一个Apache提供的开源项目,专门用于处理...

    struts2实现单个图片上传

    在本教程中,我们将深入探讨如何利用Struts2实现单个图片的上传功能,无需JavaScript的额外开发。 首先,我们需要理解图片上传的基本流程。用户通过浏览器选择一张图片,然后该图片的文件数据被发送到服务器。...

    struts2 单个文件

    在这个特定的场景中,我们关注的是Struts2中处理单个文件上传的功能。在描述中提到的"上传文件的后台代码"指的是服务器端处理文件上传的逻辑,这部分代码通常位于一个Action类中,例如`FileAction.java`。 在Struts...

    struts2实现单个和多个文件上传示例代码

    在本示例中,我们将深入探讨如何利用Struts2来实现单个和多个文件的上传功能。 首先,我们需要理解文件上传的基本原理。在web应用中,文件上传通常涉及到将客户端计算机上的文件通过HTTP协议传输到服务器端。Struts...

    Struts2多文件上传下载实例

    在实际项目中,文件上传和下载功能是必不可少的,本实例将详细讲解如何在Struts2框架下实现单个文件及多个文件的上传与下载。 首先,我们需要在Struts2的配置文件(struts.xml)中添加相关的Action配置,以便处理文件...

    struts2单个和多个上传文件

    对于多个文件上传,表单的设计与单个文件上传类似,只需要增加多个`&lt;s:file&gt;`标签即可。 ```xml &lt;td colspan="2"&gt;文件上传示例&lt;/h1&gt;&lt;/td&gt; 上传的文件"/&gt; 上传的文件"/&gt; 上传"/&gt; ``` 这里使用了两个`...

    Struts2实现上传单个文件功能

    本篇文章将详细讲解如何使用Struts2实现上传单个文件的功能。 首先,我们需要创建一个用于上传文件的JSP页面。`upload.jsp` 是用户交互的界面,用户在这里选择要上传的文件。JSP页面的关键部分是`&lt;form&gt;`标签,它...

    struts2多文件上传显示进度

    在Struts2中实现多文件上传并显示进度是常见的需求,尤其是在处理大文件或者批量上传时,用户需要实时了解上传进度以提升用户体验。在本案例中,我们将探讨如何在不依赖任何第三方插件的情况下实现这一功能。 首先...

    struts+spring文件上传大小限制.rar

    本压缩包"struts+spring文件上传大小限制.rar"显然是针对在Struts和Spring整合环境下,如何处理文件上传时的大小限制问题。以下将详细介绍这两个框架在文件上传时的处理机制以及如何设置文件大小限制。 1. Struts...

    struts2 多个文件上传 插件goouploader

    在Struts2中,传统的文件上传是通过`&lt;s:file&gt;`标签实现的,但只支持单个文件上传。Goouploader插件则提供了更强大的多文件上传功能,并且具有进度条显示、断点续传等特性。下面将详细介绍如何使用Goouploader插件...

    struts2(ssh)带进度条文件上传 demo 的jar包1

    在Struts2中,实现文件上传功能是非常常见的需求,而带进度条的文件上传则可以提供更好的用户体验,让用户了解文件上传的进度,减少用户的等待焦虑感。 Struts2的文件上传主要依赖于Apache的Commons FileUpload库。...

    struts2多文件上传

    在Struts2中,文件上传是一个常见的功能,尤其在处理用户需要提交多个文件的场景下,例如上传图片或者文档。这个“struts2多文件上传”主题将深入讲解如何在Struts2框架下实现这一功能。 首先,我们需要了解Struts2...

    Struts2自学笔记——Struts2的文件上传

    - 限制单个文件和总上传大小,以防止资源耗尽。 - 提供明确的用户反馈,告知文件上传状态。 通过以上步骤,你可以在Struts2应用中实现一个完整的文件上传功能。不断学习和实践,理解其背后的原理和安全要点,将使...

Global site tag (gtag.js) - Google Analytics