HTML文件:
<html>
<head>
<title>page</title>
</head>
<body>
<form action="demo/demo!demo" method="post" enctype="multipart/form-data">
<input type="file" name="up"/>
<input type="submit" value="提交"/>
</form>
</body>
</html>
Java源码:
package cn.tonv.demo;
import java.io.File;
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings("serial")
public class TestAction extends ActionSupport {
//上传文件
private File up;
//上传文件的属性
private String upContentType;
//上传文件名
private String upFileName;
public String demo(){
System.out.println(getUp().toString());
System.out.println(getUpContentType());
System.out.println(getUpFileName());
return "succ";
}
public File getUp() {
return up;
}
public void setUp(File up) {
this.up = up;
}
public String getUpContentType() {
return upContentType;
}
public void setUpContentType(String upContentType) {
this.upContentType = upContentType;
}
public String getUpFileName() {
return upFileName;
}
public void setUpFileName(String upFileName) {
this.upFileName = upFileName;
}
}
如上面Java源码中上传文件的名称up可以随意修改但ContentType和FileName前面的up必须与up的修改一致,否则上传文件的类型以及名字将无法获得。up后面的ContentType和FileName是固定写法不能修改。
demo/demo!demo发请求的方式是struts2的动态方法调用可以参考:struts2 动态方法调用
当我们得到上传的file以及file的名字和类型后就可以使用我们熟悉的文件流来操作文件了