java web之路 springMVC上傳圖片
阿新 • • 發佈:2018-12-22
jar包
commons-fileupload-xxx.jar
commons-io-xxx.jar
spring.xml配置
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize">
<value>5242880</value>
</property>
檔案伺服器
沒有設定專用的檔案伺服器,與程式共用tomcat伺服器,在tomcat中設定
前端程式碼
提交的表單中增加屬性<form id="itemForm" enctype="multipart/form-data"
後端程式碼
controller中新增引數MultipartFile item_pic
@RequestMapping(value="editItemsSubmit",method=RequestMethod.POST) public String editItemsSubmit(HttpServletRequest request,HttpServletResponse response ,String createtime, Integer id, @Validated ItemsCustom itemsCustom,BindingResult bindingResult, MultipartFile item_pic, Model model) throws Exception { if(bindingResult.hasErrors()) { List<ObjectError> errorlist = bindingResult.getAllErrors(); for (ObjectError objectError : errorlist) { System.out.println(objectError.getDefaultMessage()); } model.addAttribute("errorlist",errorlist ); return "items/editItems"; } // SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // // itemsCustom.setCreatetime(sdf.parse(createtime)); //獲得圖片的原始名稱 String originalFilename = item_pic.getOriginalFilename(); //upload pic if(item_pic != null && originalFilename!=null && originalFilename.length()>0) { //存放圖片的物理路徑 String file_path="C:/workspace/java/pic/"; //圖片的新名稱 String pic_name = UUID.randomUUID() + originalFilename.substring(originalFilename.indexOf(".")); //新圖片 File newfile = new File(file_path + pic_name); //將圖片寫入磁碟 item_pic.transferTo(newfile); itemsCustom.setPic(pic_name); } itemsService.updateItems(id, itemsCustom); return "success"; }