Struts2的文件上传,使用起来还是比较简单的。不过,有一些“约定”还是要稍微留意一下。

form中文件上传组件:

  1. <input type="file" id = "upload" name="upload" /> 

接收端的Action类中需要定义三个成员:

  1. private File upload; 
  2. private String uploadContentType; 
  3. private String uploadFileName; 

并且提供他们的Getter和Setter方法。

Struts配置:

  1. <action name ="fileUpload" class ="fileUploadAction">       
  2.             <!-- 验证上传文件的类型 -->     
  3.             <interceptor-ref name ="fileUpload">       
  4.                  <!-- 我这里没有对文件类型进行限制 -->     
  5.             </interceptor-ref>       
  6.             <interceptor-ref name ="defaultStack"/>       
  7.             <!-- 如果加入了验证上传文件的类型,必须要加input -->     
  8.             <result name ="input" >/devices.jsp</result>     
  9.             <result name ="success">/upload.jsp </result>       
  10. </action> 

限定上传文件大小,在Struts2中增加配置项:

  1. <constant name="struts.multipart.maxSize" value="20971520"/> 

其他细节参见这篇文章:

http://www.blogjava.net/landor2004/archive/2009/06/11/281416.html