struts1 上传文件

 1. DTO 类中写好 private FormFile formFileTaoBao=null;   属性。

2.jsp 页面中file对应的写好属性的名称 如:选择文件:<input  type="file" name="formFileTaoBao" id="formFileTaoBao"/>

3.注意form中的属性设置,

例如:<form  id="fm" method="post" enctype="multipart/form-data" action="${pageContext.request.contextPath}/xxx/xxx.do" οnsubmit="return checkFileValue();"; >

4.然后在写Action类

  public ActionForward formfileTaoBaoAction(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {

       XXXX  xx=(XXXX)form;    //转换DTO类对象。

       FormFile formFile=xx.getFormFileTaoBao(); 

       //这个获得路径,小记一下

      String uploadPath=request.getSession().getServletContext().getRealPath("/").replace("\\", "/")+"/tempUpload/taobao";

     //调用上传文件的方法

     bpo.upFileTemp(formFile,uploadPath);

      ....Action 类中基本这样。然后在逻辑BPO类中上传文件。

 

5.在逻辑BPO类中上传文件

 /**
  * 文件上传功能
  * @param formFile
  * @param uploadPath
  * @return
  * @author XiongXing
  * @date 20111029
  */
 public boolean upFileTemp(FormFile formFile, String uploadPath) {

  File fileTemp = new File(uploadPath);// 上传文件目录
  if (!fileTemp.exists()) {
   fileTemp.mkdirs();
  }
  // 上传文件路径加文件名。
  String fileNamePath = uploadPath + "/" + formFile.getFileName();
  try {
   InputStream is = formFile.getInputStream();
   OutputStream os = new FileOutputStream(fileNamePath);
   int readSize = 0;
   byte buffer[] = new byte[1024];
   while ((readSize = is.read(buffer, 0, 1024)) != -1) {
    os.write(buffer, 0, readSize);
   }
   return true;
  } catch (Exception e) {
   System.out.println("-----上传--读写文件异常-----");
   e.printStackTrace();
   return false;
  }
 }

//有问题希望大家指正,或者更好的改良,谢谢。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值