jsp页面内容:
<body>
<form action="${pageContext.request.contextPath}/contron/employ/nba_execute.action" enctype="multipart/form-data" method="post">
文件:<input type="file" name="image">
<input type="submit" value="上传" />
</form>
</body>
javabean文件内容:
private File image;
private String imageFileName;
public String getImageFileName() {
return imageFileName;
}
public void setImageFileName(String imageFileName) {
this.imageFileName = imageFileName;
}
//getset方法帮助我们接受到正确的属性;
public File getImage() {
return image;
}
public void setImage(File image) {
this.image = image;
}
public String execute() throws Exception{
//得到真实路径
String realpath = ServletActionContext.getServletContext().getRealPath("/images");
System.out.println(realpath);
//判断文件不为空的时候进行保存;
if(image!=null){
//构建要保存的文件,并作判定,如果目录不存在,就创建目录;
File savefile = new File(new File(realpath),imageFileName);
if(!savefile.getParentFile().exists()) savefile.getParentFile().mkdirs();
//把源文件拷贝到目标文件
FileUtils.copyFile(image,savefile);
ActionContext.getContext().put("message", "上传成功");
}
return "success";
}
}
配置文件内容:
<struts>
<constant name="struts.multipart.maxSize" value="10700000"></constant>
<package name="employ" namespace="/contron/employ" extends="struts-default" >
<action name="nba_*" class="cn.itcast.HelloWorldAction" method="{1}">
<result name="success">/WEB-INF/message.jsp</result>
</action>
在进行多文件上传的时候,要定义为数组,进行迭代;而是所有上传的文件name属性要
相同;