zoukankan      html  css  js  c++  java
  • struts 上传文件

    文件上传的时候struts会使用默认18个拦截器中的<interceptor name="fileUpload" class="org.apache.struts2.interceptor.FileUploadInterceptor"/>进行处理

    文件上传Action类:

    Action类中定义三个属性:

    private File file1; 相应表单:<input type="file" name="file1">
    private String file1FileName; 文件名称
    private String file1ContentType;文件的类型(MIME)

    而且提供这三个属性的set方法。

    文件上传表单:

    <form action="${pageContext.request.contextPath }/fileUploadAction" method="post" enctype="multipart/form-data">
      		username:<input type="text" name="userName"><br/>
      		文件:<input type="file" name="file1"><br/>
      		<input type="submit" value="上传">
      	</form>

    文件上传使用的Action类UploadAction

    package cn.itcast.upload;
    
    import java.io.File;
    import java.io.IOException;
    
    import org.apache.commons.io.FileUtils;
    import org.apache.struts2.ServletActionContext;
    
    import com.opensymphony.xwork2.ActionSupport;
    
    public class UploadAction extends ActionSupport{
    
    	// 相应表单:<input type="file" name="file1">
    	private File file1; 
    	// 文件名称
    	private String file1FileName;
    	// 文件的类型(MIME)
    	private String file1ContentType;
    	public void setFile1(File file1) {
    		this.file1 = file1;
    	}
    	public void setFile1FileName(String file1FileName) {
    		this.file1FileName = file1FileName;
    	}
    	public void setFile1ContentType(String file1ContentType) {
    		this.file1ContentType = file1ContentType;
    	}
    	public String upload() throws IOException{
    		//得到上传的目录
    		String path=ServletActionContext.getServletContext().getRealPath("/upload");
    		//创建文件
    		File file=new File(path,file1FileName);
    		//讲上传的文件上传到指定的目录
    		FileUtils.copyFile(file1, file);
    		return "success";
    	}
    }
    
    struts.xml文件的配置:

    <struts>
    	<package name="upload_" extends="struts-default">
    		<!-- 注意: action 的名称不能用keyword"fileUpload" -->
    		<action name="fileUploadAction" class="cn.itcast.upload.UploadAction" method="upload">
    			<result name="success">/index.jsp</result>
    			<!-- 配置错误视图 -->
    			<result name="input">/error.jsp</result>
    		</action>
    		</package>
    </struts>



  • 相关阅读:
    理解C语言中指针常量和常量指针区别!不要再搞混了~
    哪座城市可以安放程序员的灵魂,一线城市与二三线城市该如何择别?
    Linux 之父如何定义 "Linux" !主要想让黑客、计算机学生使用,学习和享受!
    程序员的凡尔赛文学!作为低调人群的程序员,“凡”起来又是怎样的一番景象呢?
    40个Java集合面试问题和答案
    从关系型数据库到非关系型数据库
    redis安装报错
    redis简介
    不满足依赖关系
    EL表达式中引用隐式变量
  • 原文地址:https://www.cnblogs.com/jhcelue/p/6792090.html
Copyright © 2011-2022 走看看