SpringMVC(十)----上传图片

2019-04-15 14:58发布

1.配置本地的图片服务器在tomcat上配置图片虚拟目录,在tomcat下conf/server.xml中添加:

访问http://localhost:8080/pic即可访问F:developupload emp下的图片。也可以通过eclipse配置:

2.测试图片服务器是否可用
3.放开jsp图片部分


3.导入2个jar包
4.springmvc配置上传组件 5242880 5.controllercontroller接收到的图片不会存到mysql里。因为,多媒体的数据都比较大。没法很快的存入数据库,因为数据库把文件存在磁盘上,磁盘的io是很慢的。redis是分布式缓存,可以先把数据缓存起来,然后,慢慢的存。把图片单独存到图片服务器上,而图片的地址,存到数据库里。@RequestMapping("/updateitem") public String update(MultipartFile pictureFile, Items items, Model model) throws ServletException, IOException { // 1.获取图片完整名称 String fileStr = pictureFile.getOriginalFilename(); // 2.使用随机生成的字符串+原图片扩展名组成新的图片名称,防止图片重名 String newFileName = UUID.randomUUID().toString() + fileStr.substring(fileStr.lastIndexOf(".")); // 3.将图片保存到硬盘 pictureFile.transferTo(new File("E:\image\" + newFileName)); // 4.将图片名称保存到数据库 items.setPic(newFileName); items.setCreatetime(new Date()); itemsService.updateItems(items); model.addAttribute("id", items.getId()); return "redirect:itemEdit.action"; }注意:这里的pictureFile要和jsp里面的对应
6.测试
源码