html代码:
<form action="GoodsAction_modify.do" method="post" enctype="multipart/form-data"><li><span>图片</span><input type="file" name="image" id="image" tabindex="5" onchange="save()"/></li>
...
</form>
注意:enctype="multipart/form-data"
java代码:
//注意,image并不是指前端jsp上传过来的图片文件本身,而是文件上传过来存放在临时文件夹下面的文件private File image;//提交过来的image的名字private String imageFileName;get...set...
public void modify() throws Exception {HttpServletResponse response = ServletActionContext.getResponse();response.setContentType("text/html;charset=utf-8");String realPath = ServletActionContext.getServletContext().getRealPath("/images"); //绝对路径//imageFileName = new Date().getTime()+".jpg"; //修改文件名称File saveDir=new File(realPath); //按照realPath构建一个File实例//if(!saveDir.exists()) saveDir.mkdirs(); //判断File实例对应的文件是否存在,如果不存在,则按照路径构建一个文件夹。if (image != null) {File saveFile = new File(saveDir, imageFileName); //按照父目录saveDir路径和文件名构建一个File实例if (!saveFile.getParentFile().exists()) { //判断saveFile的父目录文件是否存在,如果不存在,则按照路径构建一个文件夹。saveFile.getParentFile().mkdirs();}try {FileUtils.copyFile(image, saveFile); //根据saveFile所包含路径信息,把image写入文件系统(硬盘)} catch (Exception e) {e.printStackTrace();}}Goods goods = goodsService.getEntity(id);id = goods.getId();if(goods != null){goods.setName(name);goods.setDescs(descs);goods.setCategoryid(categoryid);goods.setPrice(price);goods.setUserid(userid);goods.setImage(imageFileName);goodsService.saveOrUpdateEntity(goods);response.getWriter().write("<script>alert('修改成功');window.location.href='GoodsAction_list.do'</script>");}else{response.getWriter().write("<script>alert('修改失败');history.go(-1);</script>");}}