17.文件上传
在大部分的应用都有文件上传的功能。在servlet中可以使用第三方的插件来实现文件上传:smartfileupload,commons-fileupload.
**注意要点:**表单的提交方式一定是post,在表单中要设置enctype="multipart/form-data"以二进制流的方式传数据给服务器。
- 写一个文件上传的jsp页面。截图如下。
- 写一个文件上传action处理类
public class uploadAction{
//file属性名和表单域名相同,类型为File
private File file;
//上传文件的名称也是由struts2设置好
//属性名=表单域名+FileName
private String fileFileName;
//文件类型 属性名=表单域名+ContentType
private String fileContentType;
//上传文件的业务方法
public String upload(){
//获取上传文件目录
String path=ServletActionContext.getServletContext().getRealPath("/upload");
try{
FileUtils.copyFile(file,new File(path,fileFileName));
return Action.SUCCESS;
}catch(IOEXception e){
e.printStackTrace();
}
return Action.ERROR;
}
public File getFile(){
return file;
}
public void setFile(File file){
this.file=file;
}
//后面其他的set/get方法
}
- 上传成功和失败提示页
- 配置struts.xml