`
chinrui
  • 浏览: 97599 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

struts多文件上传

阅读更多

struts多文件上传

1、文件载入页面

 

  <body>
    <form method="post" enctype="multipart/form-data" action="file_load">
    	文件一:<input type="file" name="images"><br/>
    	文件二:<input type="file" name="images"><br/>
    	文件三:<input type="file" name="images"><br/>
    	<input type="submit" value="提交"/>
  </form>
</body>

 2、struts.xml里面action配置

 

 

<struts>
	<package name="default" namespace="/" extends="struts-default" >
		<action name="file_*" class="com.edu.hpu.action.FileAction" method="{1}">
			<result>/file_{1}.jsp</result>
		</action>
	</package>
</struts>

 3、FileAction

 

 

package com.edu.hpu.action;

import java.io.File;
import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class FileAction extends ActionSupport {
	/**
	 * 使用数组进行多文件接收
	 * images:接收到的文件
	 * imagesFileName:接收到的文件名
	 */
	private File[] images;
	private String[] imagesFileName;

	public File[] getImages() {
		return images;
	}

	public void setImages(File[] images) {
		this.images = images;
	}

	public String[] getImagesFileName() {
		return imagesFileName;
	}

	public void setImagesFileName(String[] imagesFileName) {
		this.imagesFileName = imagesFileName;
	}

	@Override
	public String execute() throws Exception {
		return super.execute();
	}
	
	public String input() throws Exception {
		return SUCCESS;
	}
	
	public String load() throws Exception  {
		//获得并创建存储路径
		String savePath = ServletActionContext.getServletContext().getRealPath("/images");
		File filePath = new File(savePath);
		if(!filePath.exists()) {
			filePath.mkdirs();
		}
		
		//遍历获得文件进行文件存储
		for(int i = 0; i < images.length; i++) {
			File file = new File(filePath,imagesFileName[i]);
			if(!file.exists()) {
				file.createNewFile();
			}
			System.out.println(file.getAbsolutePath());
			FileUtils.copyFile(images[i], file);
		}
		return SUCCESS;
	}
}

 4、结果展示页面

<body>
  文件
  <s:iterator value="imagesFileName" var="fileName">
 	<s:property value="fileName"/>,
 </s:iterator>上传成功!
</body>

 

 

分享到:
评论

相关推荐

    Struts多文件上传

    在Struts 2中,多文件上传是一项非常实用的功能,尤其是在需要用户同时上传多个文件的应用场景下。Struts 2提供了强大的文件上传支持,并且可以很容易地处理多个文件的上传。下面将详细介绍Struts 2多文件上传的关键...

    struts多文件上传下载

    本项目"struts多文件上传下载"显然专注于实现这一功能,允许用户一次性上传一个或多个文件,并且限制了上传文件的大小,以防止恶意的大文件上传。 首先,我们来看文件上传。在Struts中,文件上传通常借助于Apache的...

    struts2文件上传下载源代码

    在Struts2中,文件上传和下载是常见的功能需求,特别是在处理用户交互和数据交换时。这篇博客文章提供的"struts2文件上传下载源代码"旨在帮助开发者理解和实现这些功能。 文件上传功能允许用户从他们的设备上传文件...

    Struts2多个文件上传

    在Struts2中,文件上传功能是一个常用特性,尤其在处理用户提交的多个文件时。本文将详细讲解如何使用Struts2进行多个文件的上传,重点是使用List集合进行上传。 首先,要实现Struts2的文件上传,必须引入必要的...

    struts2文件上传jar

    这个压缩包包含了实现Struts2文件上传所需的全部jar包,这些库文件对于理解和实现文件上传功能至关重要。 首先,我们要了解Struts2文件上传的基本流程。当用户通过表单提交包含文件输入字段的请求时,Struts2框架会...

    struts2实现文件上传下载

    对于大量文件上传,可以考虑使用多线程处理,提高上传效率。还可以添加进度条显示、断点续传等功能,提升用户体验。 以上就是使用Struts2框架实现文件上传下载的基本步骤和关键知识点。在实际开发中,可以根据项目...

    struts 单文件上传和多文件上传带进度条

    在Struts中,可以实现单文件和多文件的上传,并且为了提升用户体验,我们还可以添加进度条来显示文件上传的状态。本文将详细介绍如何在Struts中实现这两个功能,并带上传进度条。 首先,我们需要了解Struts中处理...

    一个Struts1多文件上传实例(附Form中传List示例)

    本实例主要探讨如何在Struts1中实现多文件上传功能,并结合Form中传递List类型的数据,这对于理解MVC模式下的文件处理和数据传递有重要作用。我们将深入讨论以下几个关键知识点: 1. **Struts1框架基础**: Struts...

    JavaEE Struts文件上传

    JavaEE Struts 文件上传是Web开发中的一个常见需求,它允许用户从客户端向服务器传输文件。Struts作为JavaEE框架的一部分,提供了强大的功能来处理这种交互。以下是对这个主题的详细解析。 首先,理解文件上传的...

    struts2文件上传实例

    1. **.struts2配置**:在Struts2框架中,需要在`struts.xml`配置文件中添加相应的action配置,声明文件上传的处理方法。通常,你需要设置`&lt;result&gt;`类型为`stream`,以便处理上传的文件。 2. **Action类**:创建一...

    struts 文件上传 Struts实现文件上传

    Struts 是一个基于MVC(Model-View-Controller)...总结,Struts 实现文件上传涉及到配置、表单设计、Action处理和安全控制等多个环节。理解并熟练掌握这些知识点,能帮助开发者在实际项目中高效地处理文件上传需求。

    Struts2.0文件上传原理

    Struts2.0文件上传原理主要涉及Web应用中处理用户上传文件的功能,这一过程涉及到多个步骤和技术,包括HTTP协议、Multipart/form-data编码、临时文件存储以及后台处理。以下是对Struts2.0文件上传原理的详细解释: ...

    struts2文件上传

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

    struts2 文件上传

    Struts2 文件上传是Web开发中的一个...然而,实际开发中可能需要根据项目需求进行更多的定制,例如增加多文件上传、文件预览、上传进度显示等功能。这需要对Struts2框架有更深入的理解,并灵活运用相关技术来满足需求。

    Struts AJAX文件上传

    同时,为了优化性能,可以考虑使用多线程处理大文件上传,或者采用分块上传策略。 以上就是关于“Struts jQuery AJAX 文件上传”的核心知识点。通过这种方式,开发者可以创建更加流畅、高效的Web应用,提供给用户更...

    简单易懂的struts2文件上传

    在Struts2中,文件上传功能是一个常见的需求,例如用户可能需要上传图片、文档或其他类型的文件。本教程将深入浅出地讲解如何在Struts2中实现文件上传,并提供一个简单的实例来帮助理解。 1. **Struts2文件上传概述...

    struts2文件上传和下载

    1. **文件上传**: 在Struts2中,文件上传主要依赖于`Commons FileUpload`库,它是一个Apache提供的组件,专门处理HTTP请求中的多部分数据,包括文件。首先,需要在Struts2配置文件中添加相关的拦截器,如`params`和`...

Global site tag (gtag.js) - Google Analytics