文件上传步骤:
1.直接获取表单中的元素:
//private File[] image; 多个文件上传,文件名称和类型同理都是数组
private File image;//得到上传的文件
private String imageFileName;//得到上传的文件名称
private String imageContentType;//得到上传的文件类型
并生成相对应的get、set方法
2.ServletActionContext.getServletContext().getRealPath(directory)获取上传文件路径;
并生成文件夹;
3.加上文件名生成对应的文件File saveFile = new File(fileDir,imageFileName);
进行拷贝(上传):FileUtils.copyFile(image, saveFile);
4.可以在struts2配置文件中配置相对应的上传参数:
对应的jsp文件:
1.直接获取表单中的元素:
//private File[] image; 多个文件上传,文件名称和类型同理都是数组
private File image;//得到上传的文件
private String imageFileName;//得到上传的文件名称
private String imageContentType;//得到上传的文件类型
并生成相对应的get、set方法
2.ServletActionContext.getServletContext().getRealPath(directory)获取上传文件路径;
并生成文件夹;
3.加上文件名生成对应的文件File saveFile = new File(fileDir,imageFileName);
进行拷贝(上传):FileUtils.copyFile(image, saveFile);
4.可以在struts2配置文件中配置相对应的上传参数:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!--上传文件的大小限制-->
<constant name="struts.multipart.maxSize" value="10701096"/>
</struts>
对应的jsp文件:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'fileUpLoad.jsp' starting page</title>
</head>
<body>
<form action="${pageContext.request.contextPath }/fileupload/filesave.action" method="post" enctype="multipart/form-data">
file1:<input type="file" name="image"/><br/>
<input type="submit" value="上传">
</form>
</body>
</html>
java上传文件代码:
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionContext;
public class FileUpLoadManagerAction {
//private File[] image; 多个文件上传,文件名称和类型同理都是数组
private File image;//得到上传的文件
private String imageFileName;//得到上传的文件名称
private String imageContentType;//得到上传的文件类型
public String getImageContentType() {
return imageContentType;
}
public void setImageContentType(String imageContentType) {
this.imageContentType = imageContentType;
}
public String getImageFileName() {
return imageFileName;
}
public void setImageFileName(String imageFileName) {
this.imageFileName = imageFileName;
}
public File getImage() {
return image;
}
public void setImage(File image) {
this.image = image;
}
public String save(){
System.out.println("文件类型:"+this.imageContentType);
String directory = "upload";
String absPath= ServletActionContext.getServletContext().getRealPath(directory);
File fileDir = new File(absPath);//文件夹
if(!fileDir.exists()){
fileDir.mkdir();
}
try {
File saveFile = new File(fileDir,imageFileName);
FileUtils.copyFile(image, saveFile);
} catch (IOException e) {
e.printStackTrace();
}
return Action.SUCCESS;
}
}