我用的版本是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实现上传的例子 带页面的 直接运行 访问index.jsp就可以
网上的Struts2进行的文件下载一般都是单文件或者固定的文件,并没有(很少)实现随意文件的下载的例子 提供多文件上传,上传成功后,提供刚上传的文件下载功能(其他的都可以在其上面进行扩充) 多文件 上传 下载...
在struts2基础上实现的包括单文件、多文件的上传及下载
struts2实现的文件上传struts2实现的文件上传struts2实现的文件上传struts2实现的文件上传
一个swfupload+struts2实现多文件上传的案例。
自己做的一个struts2 实现文件批量上传功能,
struts2实现的多个文件上传struts2实现的多个文件上传struts2实现的多个文件上传struts2实现的多个文件上传
struts2 实现多文件上传功能,是一个很好的学习参考资料
网上有些这样的例子,但是下了几个都没有跑起来,哎,希望那些发文章的人要发就发全的,别发个半生不熟的。... 现在自己整理了一个Struts2+ExtJS2实现文异步文件上传,没法上传图片无法看到效果,直接上源码吧。
struts与hibernate实现文件的上传与动态下载 主要就是运用struts2.2和hibernate3.6进行文件上传与下载,并且能动态的下载,里面包括了详细的构建文档,以及代码
超级简单. 一看就懂. 包您满意. 利用struts2和json实现上传文件实时监控. 只要将项目中struts2与json的jar包加上就可以使用
Struts2实现文件上传的功能,简洁方便,欢迎下载。
一个利用Struts2实现文件的上传下载,使用的是同步方式。没有用ajax请求
struts2实现的文件上传下载,上传文件重命名(按时间戳)
用Struts2实现压缩文件上传到Tomcat服务器该工程指定目录下,用JS实现上传控制。
Struts2框架实现文件上传功能
Struts2实现单个文件 多个文件 上传与下载 多个拦截器 直接导入MyEclipse包中即可使用。
struts实现的文件上传下载功能,最大可以上传到150MB
struts1实现的文件批量上传,java实现
在Struts 2中实现文件上传