项目:学习项目springmvc-mybatis02
页面效果:
配置文件:springmvc.xml
<!-- 上传图片配置实现类 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 上传图片的大小 B 5M 1*1024*1024*5-->
<property name="maxUploadSize" value="5000000"/>
</bean>
jsp: form 表单 增加属性 enctype="multipart/form-data"
<tr>
<td>商品图片</td>
<td>
<c:if test="${item.pic !=null}">
<img src="/pic/${item.pic}" width=100 height=100/>
<br/>
</c:if>
<input type="file" name="pictureFile"/>
</td>
</tr>
controller:(这里关注文件名的设置和存储位置的代码就好,其他代码根据自己需求改动)
@RequestMapping(value = "/updateitem.action")
// public ModelAndView updateitem(Items items){
public String updateitem(QueryVo vo,MultipartFile pictureFile) throws Exception{
//图片名称防止重复,设置新名字
String name = UUID.randomUUID().toString().replaceAll("-", "");
//jpg 获取后缀名
String ext = FilenameUtils.getExtension(pictureFile.getOriginalFilename());
//图片存储位置
pictureFile.transferTo(new File("D:\\upload\\" + name + "." + ext));
//存储 新名字 + 后缀名
vo.getItems().setPic(name + "." + ext);
//修改
itemService.updateItemsById(vo.getItems());
// ModelAndView mav = new ModelAndView();
// mav.setViewName("success");
return "redirect:/itemEdit.action?id=" + vo.getItems().getId();
// return "forward:/item/itemlist.action";
}
另外eclipse Tomcat配置虚拟主机,用以访问其他盘符文件(地址根据自己需求设置)