参考
http://www.cxybl.com/html/struts/201110317359.html详解struts2文件上传下载的原理
HTTP上传下载的方式,另外还有通过ftpclient实现文件上传下载(ftp协议,这里不涉及)
下面的代码只是将copy的方法用common-io.jar中的FileUtils.copyFile替代了
另外AbstractRequireXAwareAction提供了request、session、application的获取
import java.io.File;
import java.io.IOException;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
import com.alpha.web.action.base.AbstractRequireXAwareAction;
@SuppressWarnings("serial")
public class FileUploadAction extends AbstractRequireXAwareAction {
// 文件标题
private String title;
// 上传文件域对象
private File upload;
// 上传文件名
private String uploadFileName;
// 上传文件类型
private String uploadContentType;
//可以放到配置文件里
private String dest = "upload/";
public class FileUploadAction extends AbstractRequireXAwareAction {
// 文件标题
private String title;
// 上传文件域对象
private File upload;
// 上传文件名
private String uploadFileName;
// 上传文件类型
private String uploadContentType;
//可以放到配置文件里
private String dest = "upload/";
public void upload() {
System.out.println("----------------");
System.out.println(title);
System.out.println(upload);
System.out.println(uploadFileName);
System.out.println(uploadContentType);
System.out.println("----------------");
System.out.println("----------------");
System.out.println(title);
System.out.println(upload);
System.out.println(uploadFileName);
System.out.println(uploadContentType);
System.out.println("----------------");
String filePath = request.getSession().getServletContext().getRealPath(dest);
File file = new File(filePath);
if (!file.exists()) {
file.mkdir();
}
file = new File(filePath + "/" + uploadFileName);
System.out.println(file.getName());
File file = new File(filePath);
if (!file.exists()) {
file.mkdir();
}
file = new File(filePath + "/" + uploadFileName);
System.out.println(file.getName());
copyFile(upload, file);
}
private void copyFile(File src, File dest) {
try {
FileUtils.copyFile(src, dest);
System.out.println("copy success...");
} catch (IOException e) {
e.printStackTrace();
}
}
try {
FileUtils.copyFile(src, dest);
System.out.println("copy success...");
} catch (IOException e) {
e.printStackTrace();
}
}
public String getTitle() {
return title;
}
return title;
}
public void setTitle(String title) {
this.title = title;
}
this.title = title;
}
public File getUpload() {
return upload;
}
return upload;
}
public void setUpload(File upload) {
this.upload = upload;
}
this.upload = upload;
}
public String getUploadFileName() {
return uploadFileName;
}
return uploadFileName;
}
public void setUploadFileName(String uploadFileName) {
this.uploadFileName = uploadFileName;
}
this.uploadFileName = uploadFileName;
}
public String getUploadContentType() {
return uploadContentType;
}
return uploadContentType;
}
public void setUploadContentType(String uploadContentType) {
this.uploadContentType = uploadContentType;
}
this.uploadContentType = uploadContentType;
}
public FileUploadAction() {
}
}
}
}