单个文件上传:
1、加入jar包commons-fileupload-1.2.1.jar、commons-io-1.3.2.jar
2、设置form表单如下:
<form enctype="multipart/form-data" action="${pageContext.request.contextPath}/***.action" method="post">
<imput type="file" name="image">
</form>
3、在Action类中添加以下属性:
private File image;//得到上传的文件
private String imageContentType;//得到文件的类型
private String imageFileName;//得到文件的名称
...
public String upload() throws Exception{
String realpath = ServletActionContext.getServletContext().getRealPath("/images");
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";
}
或
String realpath = ServletActionContext.getServletContext().getRealPath("/images");
File file = new File(realpath);
if(!file.exists()) file.mkdirs();
FileUtils.copyFile(image,new File(file,imageFileName));
当有多个文件上传时:
文件1:<input type="file" name="image"><br/>
文件2:<input type="file" name="image"><br/>
文件3:<input type="file" name="image"><br/>
在Action类中:
private File[] image;
private String[] imageFileName;
...
public String upload() throws Exception{
String realpath = ServletActionContext.getServletContext().getRealPath("/images");
if(image!=null){
File savedir = new File(realpath);
if(!savedir.exists()) savedir.mkdirs();
for(int i = 0 ; i<image.length ; i++){
File savefile = new File(savedir, imageFileName[i]);
FileUtils.copyFile(image[i], savefile);
}
ActionContext.getContext().put("message", "上传成功");
}
return "success";
}