struts2文件上传

1.首先要想文件上传就需要做如下3个最基本步骤
    (1)表单提交的method="post"
    (2)表单enctype="multipart/form-data"
    (3)上传组件的type="file"
2.使用struts2上传文件的基本步骤
    (1)Action里的File类型的属性名要和上传文件组件的name属性名一致  upfile
    (2)属性名FileName可以获取文件的名称   upfileFileName

    (3)属性名ContentType可以获取上传文件类型  upfileContentType


<!-- 设置上传文件大小默认为2097152  2M -->
<constant name="struts.multipart.maxSize" value="5097152"/>

上传文件页面:

<form action="${pageContext.request.contextPath}/testFileUpLoad_one.action" method="post" enctype="multipart/form-data">
    	文件<input type="file"  name="file">
    	<input type="submit" value="提交">
</form>

单个文件上传的Action:

public class FileUpLoadAction extends ActionSupport implements Serializable {
	private File file;
	private String fileFileName;
	private String fileContentType;

	public String execute(){
		System.out.println(fileContentType);
		String path = ServletActionContext.getServletContext().getRealPath("files");
		File upfile = new File(path,"1"+fileFileName);
		try {
			FileUtils.copyFile(file, upfile);
		} catch (IOException e) {
			e.printStackTrace();
		}
		return SUCCESS;
	}
	
	public File getFile() {
		return file;
	}

	public void setFile(File file) {
		this.file = file;
	}

	public String getFileFileName() {
		return fileFileName;
	}

	public void setFileFileName(String fileFileName) {
		this.fileFileName = fileFileName;
	}

	public String getFileContentType() {
		return fileContentType;
	}

	public void setFileContentType(String fileContentType) {
		this.fileContentType = fileContentType;
	}

}


多个文件上传的Action:

public class ManyFileUpLoadAction extends ActionSupport implements Serializable {
	private File[] file;
	private String[] fileFileName;

	public String execute(){
		String path = ServletActionContext.getServletContext().getRealPath("files");
		if(file!=null && file.length>0){
			for(int i=0;i<file.length;i++){
				File upfile = new File(path,fileFileName[i]);
				try {
					FileUtils.copyFile(file[i], upfile);
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
		return SUCCESS;
	}

	public File[] getFile() {
		return file;
	}

	public void setFile(File[] file) {
		this.file = file;
	}

	public String[] getFileFileName() {
		return fileFileName;
	}

	public void setFileFileName(String[] fileFileName) {
		this.fileFileName = fileFileName;
	}
	
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值