`

Struts2实现上传文件

阅读更多

我用的版本是Struts2.1.8

 第一步:添加jar包commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar

 第二部:在index.jsp中添加如下代码:

  

 <form action="upload.action" method="post"  enctype="multipart/form-data">
  上传文件:<input type="file" name="upload" /><br>
    <input value="上传" type="submit" />  </from>

 

第三步:在struts.xml里配置如下:

     <!--指定文件临时存储空间 --> 
<constant name="struts.multipart.saveDir" value="/temp" />
<constant name="struts.i18n.encoding" value="UTF-8"/>
<action name="upload" class="action.UploadAction">
  <!-- 动态设置Action的属性值 -->
<param name="savePath">/upload</param>
<!-- 配置Struts2默认的视图页面 -->
<result>/welcome.jsp</result>	
</action>

 

第四步:新建一个action包并新建类UploadAction

private File upload;
private String uploadContentType;
private String uploadFileName;

 private String savePath;
public void setSavePath(String value)
{
        this.savePath = value;
}
 private String getSavePath() throws Exception {
    return ServletActionContext.getRequest().getRealPath(savePath);
    }
public void setUpload(File upload) 
{
  this.upload = upload; 
}
public File getUpload() 
{
return (this.upload); 
}
public void setUploadContentType(String uploadContentType) 
{
this.uploadContentType = uploadContentType; 
}
public String getUploadContentType()
	{
	return (this.uploadContentType); 
	}
		public void setUploadFileName(String uploadFileName) 
	{
		this.uploadFileName = uploadFileName; 
	}
	public String getUploadFileName() 
	{
		return (this.uploadFileName); 
	}

	@Override
    public String execute() throws Exception
	{
				FileOutputStream fos = new FileOutputStream(getSavePath()
			+ "\\" + getUploadFileName());
		FileInputStream fis = new FileInputStream(getUpload());
		byte[] buffer = new byte[1024];
		int len = 0;
		while ((len = fis.read(buffer)) > 0)
		{
			fos.write(buffer , 0 , len);
		}
        return SUCCESS;
    }

web.xm下新增如下代码:

<!-- 配置Struts2的CleanUp的Filter -->
	<filter> 
        <filter-name>struts-cleanup</filter-name> 
        <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class> 
    </filter>
	<!-- 定义Struts2的CleanUp Filter拦截的URL -->
	<filter-mapping>
        <filter-name>struts-cleanup</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

 

在项目下新建一个upload文件夹 

完成!!!

分享到:
评论

相关推荐

    struts2实现上传文件

    在Struts2中实现文件上传功能,可以帮助开发者处理用户通过表单提交的文件,如图片、文档等。下面我们将详细讲解如何使用Struts2来实现文件上传。 首先,我们需要在项目的`struts.xml`配置文件中添加相关的action...

    struts2实现文件上传下载

    创建`UploadAction`类,定义`List&lt;FileInfo&gt;`字段,并实现上传文件的方法。例如: ```java public class UploadAction extends ActionSupport { private List&lt;FileInfo&gt; files; // getters and setters... ...

    struts2实现多文件上传下载

    网上的Struts2进行的文件下载一般都是单文件或者固定的文件,并没有(很少)实现随意文件的下载的例子 提供多文件上传,上传成功后,提供刚上传的文件下载功能(其他的都可以在其上面进行扩充) 多文件 上传 下载...

    swfuplaod+struts2实现多文件上传

    下面将详细介绍如何利用SWFUpload与Struts2来实现多文件上传。 **一、SWFUpload组件介绍** SWFUpload 是一个JavaScript库,它利用Flash技术提供了一个高级的文件上传体验。它的主要特性包括: 1. **多文件选择**...

    Struts2实现文件上传

    在这个“Struts2实现文件上传”的主题中,我们将深入探讨如何利用Struts2框架来实现在Web应用中的文件上传功能。 首先,我们注意到一个细节描述:“private String uploadContextType;应更正为private String ...

    struts2 实现文件批量上传

    本项目实现了使用Struts2进行文件批量上传的功能,这涉及到几个关键的技术点,包括文件上传组件的选择、前端表单设计、后端处理逻辑以及存储策略。 1. **文件上传组件**:在Struts2中,我们通常使用`Commons ...

    struts2实现多文件上传功能

    选择文件2" /&gt; &lt;!-- 可以根据需要添加更多文件上传字段 --&gt; 上传" /&gt; ``` 当用户提交表单后,Struts2会将所有上传的文件作为一个列表传递给Action。在`execute()`方法中,我们可以遍历`files`列表,对每个文件...

    利用struts2实现上传文件进度条

    在处理文件上传时,Struts2提供了一种优雅的方式,允许开发者实现更高级的功能,比如文件上传进度条。这个教程将指导你如何在Struts2中创建一个实时监控文件上传进度的功能,借助JSON进行数据传输。 首先,你需要...

    Struts2实现文件上传功能

    下面将详细阐述如何使用Struts2来实现文件上传功能。 1. **Struts2文件上传组件** Struts2框架集成了一个名为`struts2-convention-plugin`的插件,它提供了文件上传的支持。主要依赖于`Commons FileUpload`和`...

    struts与hibernate实现文件的上传与动态下载

    通过以上步骤,你可以实现一个基于Struts2和Hibernate的文件上传与动态下载系统。这个系统能够处理用户上传的文件,将其保存到服务器,同时提供动态下载功能,允许用户根据需要下载文件。在实际开发中,还需要考虑...

    struts2文件上传下载源代码

    这篇博客文章提供的"struts2文件上传下载源代码"旨在帮助开发者理解和实现这些功能。 文件上传功能允许用户从他们的设备上传文件到服务器。在Struts2中,这通常通过表单实现,表单包含一个`&lt;input type="file"&gt;`...

    Struts2实现多文件上传

    在Struts2中,实现多文件上传功能是常见的需求,尤其在处理用户需要上传多个文件的场景下,如上传图片、文档等。本篇文章将详细介绍如何使用Struts2来实现这一功能。 首先,我们需要理解Struts2的上传机制。在...

    Extjs+Struts2实现异步文件上传

    网上有些这样的例子,但是下了几个都没有跑起来,哎,希望那些发文章的人要发就发全的,别发个半生不熟的。... 现在自己整理了一个Struts2+ExtJS2实现文异步文件上传,没法上传图片无法看到效果,直接上源码吧。

    在Struts 2中实现文件上传

    Struts 2 文件上传是基于 Apache Commons FileUpload 组件实现的,这个组件处理 HTTP 请求中的多部分数据,将上传的文件保存到服务器的临时目录。Struts 2 的 fileUpload 拦截器则负责将这些文件绑定到 Action 对象...

    Struts2实现文件的上传下载

    在Struts2中,文件上传主要依赖于`org.apache.struts2.components.FileUpload`组件,这个组件是基于Commons FileUpload库实现的,它能够处理multipart/form-data类型的HTTP请求,这是文件上传所必需的格式。...

    Struts2多个文件上传

    首先,要实现Struts2的文件上传,必须引入必要的依赖库。主要需要两个Apache Commons库:`commons-fileupload-1.2.2.jar`和`commons-io-2.0.1.jar`。这两个库提供了文件上传的基础功能,使得Struts2能够处理`...

    Struts2框架实现文件上传

    在Struts2中实现文件上传,可以帮助开发者处理用户从浏览器端上传的文件,例如图片、文档等。以下是关于Struts2文件上传的详细知识点: 1. **依赖库**: 实现文件上传,首先需要引入Struts2的上传插件,即`struts2...

    使用struts2实现的文件上传功能

    在Struts2框架中实现文件上传功能是一项常见的任务,这通常涉及到用户通过表单提交文件,服务器端接收并处理这些文件。在这个场景中,我们将探讨如何使用Struts2来实现这一功能。 首先,你需要在项目中引入Struts2...

    struts2实现的多个文件上传

    在处理文件上传时,Struts2提供了便捷的API和配置方式,使得开发人员能够轻松实现多文件上传的功能。下面将详细阐述如何使用Struts2来实现多个文件的上传。 首先,理解文件上传的基本原理。在HTTP协议中,文件上传...

Global site tag (gtag.js) - Google Analytics