- 配置虚拟目录
在tomcat上配置图片虚拟目录,在tomcat下conf/server.xml中添加:
<Context docBase="D:\develop\upload\temp" path="/pic" reloadable="false"/>
访问http://localhost:8080/pic即可访问D:\develop\upload\temp下的图片。
也可以通过eclipse配置,如下图
上传图片
- springmvc 配置实现类
<!-- id 固定不可以乱改的 -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 上传文件大小上限,单位为字节(2MB) -->
<property name="maxUploadSize">
<value>2097152</value>
</property>
<!-- 请求的编码格式,必须和jSP的pageEncoding属性一致,以便正确读取表单的内容,默认为ISO-8859-1 -->
<property name="defaultEncoding">
<value>UTF-8</value>
</property>
</bean>
- 控制
导入jar包:
commons-fileupload-1.2.2.jar
commons-io-2.4.jar
@RequestMapping(value = "/updateitem.action")
// public ModelAndView updateitem(Items items){
public String updateitem(QueryVo vo,MultipartFile pictureFile) throws Exception{
//保存图片到
String name = UUID.randomUUID().toString().replaceAll("-", "");
//获取文件扩展名
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"; // 得到的浏览器请求地址还是@RequestMapping(value = "/updateitem.action")
// 中的
}