当前位置:首页 > 开发 > 编程语言 > Struts > 正文

struts多文件上传

发表于: 2013-06-02   作者:chinrui   来源:转载   浏览次数:
摘要: struts多文件上传 1、文件载入页面   <body> <form method="post" enctype="multipart/form-data" action="file_load"> 文件一:<input type="file" n

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多文件上传

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
很多应用都要求在一个界面中可以上传多个文件,Struts 2框架也可以方便地支持多个文件同时上传,一
参照struts2官网的例子做了一个用struts2实现多文件上传的例子,这里是上传图片文件。 所需要应用的
文件上传大体我给分这么几步。1:在WEB-INF/lib下面添加commons-fileupload-1.2.1.jar,commons-io-1.
在项目中用到了uploadify来上传jar包文件,在其官网上只有php和ASP的实例。在网上找了很多,都不是
之前写过一篇文章,关于Struts2文件上传:http://www.cnblogs.com/lichenwei/p/3927964.html 现在来
转载: http://www.blogjava.net/lishunli/archive/2010/01/07/308614.html#_Toc246867271 Struts2
1.struts2本身不支持异步上传文件,需要相应的插件支持,这里用jquery.js和jquery.form.js来实现。
一、上传页面: <%@ page language="java" contentType="text/html; charset=GBK"%> <%@ta
Struts2下多文件的上传与下载 目录 关键词... 1 写在前面... 1 需求... 1 环境... 2 目录结构... 3
这个demo是用webwork实现的,原理上和用Struts 2完全一样。实现多文件上传和页面无刷新效果,用ifram
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号