struts2上传和下载

 struts2上传

1.设置表单提交方式method="POST" 编码类型enctype="multipart/form-data",注意及时struts2默认表单提交方式是post的,也要设置一下,否则日志中会warn。

2.在上传的Action中,配置以下属性:

String savePath-----上传的目录见struts.xml配置

File xx-----文件域,与表单的文件域name属性一致

String xxFileName-----上传的文件名

String xxContentType-----上传的文件类型

3.struts.xml的配置

<action name="upload" class="uploadAction">
   <param name="savePath">/upload01</param>
    ...

   配置拦截器

   <interceptor-ref name="fileUpload">
              <!-- 配置允许上传的文件类型,多个用","分隔 -->
              <param name="allowedTypes">
          image/bmp,image/png,image/gif,image/jpeg,image/jpg
,image/x-png, image/pjpeg

              </param>
              <!-- 配置允许上传的文件大小,单位字节 -->
              <param name="maximumSize">102400</param>
           </interceptor-ref>
           <interceptor-ref name="defaultStack" />

</action>

 

看一个例子吧

    jsp页面

<s:form action="fileAction" namespace="/file" method="POST" enctype="multipart/form-data">    
  <!-- name为后台对应的参数名称 -->     
  <s:file name="files" label="file1"></s:file>    
  <s:file name="files" label="file2"></s:file>     
  <s:file name="files" label="file3"></s:file>     
  <s:submit value="提交" id="submitBut">
  </s:submit> 
</s:form>

   下面是后台代码:

//单个文件上传可以用 File files,String filesFileName,String filesContentType 
//名称要与jsp中的name相同(三个变量都要生成get,set) 
private File[] files; 
// 要以File[]变量名开头 
private String[] filesFileName; 
// 要以File[]变量名开头 
private String[] filesContentType;  
private ServletContext servletContext;  
//Action调用的上传文件方法 
public String execute() {       
    ServletContext servletContext =ServletActionContext.getServletContext();       
    String dataDir = servletContext.getRealPath("/file/upload");       
    System.out.println(dataDir);      
    for (int i = 0; i < files.length; i++) {             
        File saveFile = new File(dataDir, filesFileName[i]);             
        files[i].renameTo(saveFile);       
    }      
    return "success"; 
}

 配置上传文件临时文件夹(在struts.xml中配置)

<constant name="struts.multipart.saveDir" value="c:/temp"/>

  

struts2下载

 

你可能感兴趣的:(jsp,xml,struts)