在tomcat上配置圖片虛擬目錄,在tomcat下conf/server.xml中添加:web
<Context docBase="D:\upload\temp" path="/pic" reloadable="false"/>
訪問http://localhost:8080/pic便可訪問D:\upload\temp下的圖片。spring
也能夠經過eclipse配置,以下圖:瀏覽器
複製一張圖片到存放圖片的文件夾,使用瀏覽器訪問tomcat
測試效果,以下圖:mvc
在springmvc.xml中配置文件上傳解析器dom
<!-- 文件上傳,id必須設置爲multipartResolver --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 設置文件上傳大小 --> <property name="maxUploadSize" value="5000000"></property> </bean>
修改itemEdit.jsp:eclipse
在更新商品方法中添加圖片上傳邏輯jsp
/** * 更新商品 * * @param item * @return * @throws Exception */ @RequestMapping("updateItem") public String updateItemById(Item item, MultipartFile pictureFile) throws Exception { // 圖片上傳 // 設置圖片名稱,不能重複,能夠使用uuid String picName = UUID.randomUUID().toString(); // 獲取文件名 String oriName = pictureFile.getOriginalFilename(); // 獲取圖片後綴 String extName = oriName.substring(oriName.lastIndexOf(".")); // 開始上傳 pictureFile.transferTo(new File("C:/upload/image/" + picName + extName)); // 設置圖片名到商品中 item.setPic(picName + extName); // --------------------------------------------- // 更新商品 this.itemService.updateItemById(item); return "forward:/itemEdit.action"; }
效果以下:ide