package com.action;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class FileAction extends ActionSupport {
private File myfile;
private String myfileContentType;
private String myfileFileName;
public File getMyfile() {
return myfile;
}
public void setMyfile(File myfile) {
this.myfile = myfile;
}
public String getMyfileContentType() {
return myfileContentType;
}
public void setMyfileContentType(String myfileContentType) {
this.myfileContentType = myfileContentType;
}
public String getMyfileFileName() {
return myfileFileName;
}
public void setMyfileFileName(String myfileFileName) {
this.myfileFileName = myfileFileName;
}
/**
* 实现上传的功能
*/
public String execute() throws Exception {
String filePath = ServletActionContext.getServletContext().getRealPath(
"myfiles")
+ "\\" + getMyfileFileName();// 注意:Windows操作系统中,文件路径是/反斜杠区分的
// System.out.println(filePath);
// 文本输出流
FileOutputStream fos = new FileOutputStream(filePath);
// 文件上传流
FileInputStream fis = new FileInputStream(getMyfile());
byte b[] = new byte[204800];
int len = 0;
// 通过循环把文件二进制数据写入到服务器
while ((len = fis.read(b)) != -1) {
fos.write(b, 0, len);
}
return this.SUCCESS;
}
}