`
358713428
  • 浏览: 23913 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

struts2_多文件上传

阅读更多

对于单个文件上传之前已经发布了,现在发布多个文件上传的实例



java

package hs.struts2.fileupload.action;

import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.apache.commons.io.FileUtils;

/**
 *功能 struts2多文件上传
 */
public class FileUploadArrayAction {
	// 自定义文件名
	private String filename;
	// 上传文件数组,用于多个文件上传
	private File uploadFile[];
	// 获取上传文件名
	private String uploadFileFileName[];

	public String getFilename() {
		return filename;
	}

	public void setFilename(String filename) {
		this.filename = filename;
	}

	public File[] getUploadFile() {
		return uploadFile;
	}

	public void setUploadFile(File[] uploadFile) {
		this.uploadFile = uploadFile;
	}
	
	public String[] getUploadFileFileName() {
		return uploadFileFileName;
	}

	public void setUploadFileFileName(String[] uploadFileFileName) {
		this.uploadFileFileName = uploadFileFileName;
	}

	/**
	 * 多文件上传
	 * @return
	 * @throws IOException 
	 */
	public String upload() throws IOException {
		System.out.println("filename:"+filename);
		String path= "F://test";
		//多个文件上传
		for(int i=0;i<uploadFile.length;i++){
			//根据时间和输入文件名来标识文件名
			File file =new File(path,new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss").format(new Date()).toString()+filename+i);
			FileUtils.copyFile(uploadFile[i], file);
		}
		return "upload";
	}
}
 


jsp


<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"  %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    
    <title>struts2多文件上传</title>
  </head>
  
  <body>
  		<s:form action="arrayfileupload!upload.action" method="post" enctype="multipart/form-data" >
  			<s:label value="filename:"></s:label>
  			<s:textfield name="filename"></s:textfield>
  			<s:file name="uploadFile"></s:file>
  			<s:file name="uploadFile"></s:file>
  			<s:file name="uploadFile"></s:file>
  			<s:submit value="上传"></s:submit>
  		</s:form>
  </body>
</html>
 


xml

<!-- struts2多文件上传 -->
		<action name="arrayfileupload" class="hs.struts2.fileupload.action.FileUploadArrayAction">
			<result name="upload">/index.jsp</result>
		</action>
 

最后部署到服务器上,请求http://localhost:8080/struts2/test1/fileupload.jsp即可访问。



体会:

对于单个文件和多个文件上传的唯一区别在于,单个属性和多个属性的数组来表示

还有就是对于以后的开发中,可以尽可能用配置文件来读取数据信息


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics