struts2文件上传

 参考 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 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 void upload() {
  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());
  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();
  }
 }
 public String getTitle() {
  return title;
 }
 public void setTitle(String title) {
  this.title = title;
 }
 public File getUpload() {
  return upload;
 }
 public void setUpload(File upload) {
  this.upload = upload;
 }
 public String getUploadFileName() {
  return uploadFileName;
 }
 public void setUploadFileName(String uploadFileName) {
  this.uploadFileName = uploadFileName;
 }
 public String getUploadContentType() {
  return uploadContentType;
 }
 public void setUploadContentType(String uploadContentType) {
  this.uploadContentType = uploadContentType;
 }
 public FileUploadAction() {
 }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值