strus中上传文件的一段代码

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

<html:form action="/control/brand/manage" method="post" enctype="multipart/form-data" onsubmit="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");
}

你可能感兴趣的:(apache,html,tomcat,jsp,ext)