(1)上传表单页面满足要求:
第一个:表单提交方式post
第二个:form标签设置属性值 enctype属性值 multipart/form-data
第三个:表单里面有文件上传项 <input type=”file” name=”upload”/>
(2)具体实现代码步骤
第一步在action获取上传文件和文件名称
//1在action定义两个变量
//代表上传文件,命名特点:和表单输入项文件上传name属性值一样
private File upload;
//代表上传文件名称,命名特点:文件上传name属性值+FileName
private String uploadFileName;
获取上传文件mime类型 uploateConentType
//2生成变量get和set方法
public File getUpload() {
returnupload;
}
publicvoid setUpload(Fileupload) {
this.upload =upload;
}
public String getUploadFileName(){
return uploadFileName;
}
publicvoid setUploadFileName(StringuploadFileName) {
this.uploadFileName =uploadFileName;
}
第二步在action上传的方法里面实现上传逻辑
//上传逻辑
//判断是否需要上传文件
if(upload !=null) {
//1在上传服务器文件夹里面创建文件(上传文件名称一样)
File serverFile = new File("I:\\51"+"/"+uploadFileName);
//2把本地文件复制到服务器文件中
FileUtils.copyFile(upload,serverFile);
}
(1)在struts2里面设置上传文件大小,使用常量进行配置
* 在struts.xml中进行常量配置
<constant name="struts.multipart.maxSize" value="209715200"></constant>
<!-- 设置上传 -->
在<action name="customer_*" class="customerAction" method="{1}">中设置拦截
<interceptor-refname="defaultStack">
<!--设置默认拦截器文件上传拦截器参数 -->
<!--文件大小
使用拦截器设置文件大小,和tomcat版本有关系的
-->
<paramname="fileUpload.maximumSize">209715200</param>
<!--文件扩展名 -->
<paramname="fileUpload.allowedExtensions">.jpg</param>
</interceptor-ref>