struts.xml:
<package name="manager" extends="struts-default ">
<action name ="upload" class="com.java1234.action.FileUploadAction">
<result name="success">/success.jsp</result>
<result name="input">/upload.jsp</result>
<interceptor-ref name="fileUpload">
<param name="allowedTypes">image/bmp,image/x-png,image/gif</param>
<param name="maximumSize">81101</param>
</interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</action>
</package>
其中fileUpload拦截器限制了文件得大小和类型。
FileUploadAction:
public class FileUploadAction extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = 1L;
private File java1234;//文件
private String java1234FileName;//文件名
private String java1234ContentType; //文件类型
public File getJava1234() {
return java1234;
}
public void setJava1234(File java1234) {
this.java1234 = java1234;
}
public String getJava1234FileName() {
return java1234FileName;
}
public void setJava1234FileName(String java1234FileName) {
this.java1234FileName = java1234FileName;
}
public String getJava1234ContentType() {
return java1234ContentType;
}
public void setJava1234ContentType(String java1234ContentType) {
this.java1234ContentType = java1234ContentType;
}
@Override
public String execute() throws Exception {
System.out.println("文件名:"+java1234FileName);
System.out.println("文件类型"+java1234ContentType);
String filePath="D:/"+java1234FileName;
File saveFile = new File(filePath);
FileUtils.copyFile(java1234, saveFile);
return SUCCESS;
}
前台页面:
<s:fielderror></s:fielderror>
<form action="upload" method="post" enctype="multipart/form-data">
文件:<input type="file" name="java1234"/>
<input type ="submit" value="提交"/>
</form>
<constant name="struts.multipart.maxSize" value="20000000"></constant>
即可 其中value指定了文件的大小上限