1 注意form表单的 type="file" name="xx" 的name属性要和对应上传处理类的文件属性名一致
如
<input type="file" name="upload"/>
则 对应处理类
class UpLoadPro{
private File upload;
....
}
2 form表单要添加encType属性
<form action="" method="post" encType="multipart/form-data">
3 服务器端要存在文件的保存路径
4 struts2将上传文件表单作为一个文件域封装
在对应处理类中要有三个属性对应这个文件域
class UpLoadPro{
//封装上传文件的属性
private File upload;
//封装上传文件的类型的属性
private String uploadContentType;
//封装上传的文件的名字的属性
private String uploadFileName;
}
5 默认情况下上传文件的大小要小于2M
6 加入上传文件大小控制的默认拦截器,之后可以上传大于2M的文件。
<constant name="struts.multipart.maxSize" value="10000000"/>
<interceptor-ref name="fileUpload">
<param name="maximumSize">5000000</param>
</interceptor-ref>
<interceptor-ref name="defaultStack" />
必须要加入默认拦截器栈
如
<input type="file" name="upload"/>
则 对应处理类
class UpLoadPro{
private File upload;
....
}
2 form表单要添加encType属性
<form action="" method="post" encType="multipart/form-data">
3 服务器端要存在文件的保存路径
4 struts2将上传文件表单作为一个文件域封装
在对应处理类中要有三个属性对应这个文件域
class UpLoadPro{
//封装上传文件的属性
private File upload;
//封装上传文件的类型的属性
private String uploadContentType;
//封装上传的文件的名字的属性
private String uploadFileName;
}
5 默认情况下上传文件的大小要小于2M
6 加入上传文件大小控制的默认拦截器,之后可以上传大于2M的文件。
<constant name="struts.multipart.maxSize" value="10000000"/>
<interceptor-ref name="fileUpload">
<param name="maximumSize">5000000</param>
</interceptor-ref>
<interceptor-ref name="defaultStack" />
必须要加入默认拦截器栈