strus中上传文件的一段代码

add_brand.jsp中有关上传文件的组件:

 

<html:form action="/control/brand/manage" method="post" enctype="multipart/form-data"  οnsubmit="return checkfm(this)">

<tr bgcolor="f5f5f5">
      <td width="22%" > <div align="right">logo图片:</div></td>
      <td width="78%"> <input type="file" name="logofile"></input>
        </td>
    </tr>

 

</html:form>

 

 

BrandManageAction.java中用来处理上传文件的代码:

 public ActionForward add(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {
  BrandForm formBean = (BrandForm)form;
  Brand brand = new Brand();
  brand.setName(formBean.getName());
  if(formBean.getLogofile()!= null && formBean.getLogofile().getFileSize()>0){
   SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd/HH");
   String logopathdir = "/image/brand/" + sdf.format(new Date());//构建图片保存的目录
   //得到图片保存目录的真实路径
   String logorealpathdir = request.getSession().getServletContext().getRealPath(logopathdir);

   System.out.println("-----------------------in BrandManageAction logorealpathdir is:" + logorealpathdir);
   System.out.println("-----------------------in BrandManageAction logopathdir is:" + logopathdir);

运行结果是:

-----------------------in BrandManageAction logorealpathdir is:C:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/baba1.1/image/brand/2009/09/28/16
-----------------------in BrandManageAction logopathdir is:/image/brand/2009/09/28/16

   //创建文件目录
   File logosavedir = new File(logorealpathdir);
   //如果目录不存在就创建
   if(!logosavedir.exists()){
    logosavedir.mkdirs();
   }
   //得到上传文件的名字
   String fileName = formBean.getLogofile().getFileName();
   //得到上传文件的扩展名,如.gif,.jpg
   String ext = fileName.substring(fileName.lastIndexOf("."));
   //构建文件保存时候的文件名
   String imageName = UUID.randomUUID().toString() + ext;
   try {
    FileOutputStream fops = new FileOutputStream(new File(
      logorealpathdir, imageName));
    fops.write(formBean.getLogofile().getFileData());
    fops.close();
   } catch (Exception e) {
    // TODO: handle exception
   }
   String logopath = "/baba1.1" +logopathdir + "/" + imageName;
   brand.setLogopath(logopath);
  }
  brandService.save(brand);
  request.setAttribute("message", "品牌添加成功");
  return mapping.findForward("message");
 }
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值