springmvc学习笔记(17)-上传图片
生活随笔
收集整理的這篇文章主要介紹了
springmvc学习笔记(17)-上传图片
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
springmvc學習筆記(17)-上傳圖片
標簽: springmvc
[TOC]
本文展示如何在springmvc中上傳圖片
springmvc中對多部件類型解析
在修改商品頁面,添加上傳商品圖片功能。
在頁面form中提交enctype="multipart/form-data"的數據時,需要springmvc對multipart類型的數據進行解析。
在springmvc.xml中配置multipart類型解析器。
<!-- 文件上傳 --> <bean id="multipartResolver"class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><!-- 設置上傳文件的最大尺寸為5MB --><property name="maxUploadSize"><value>5242880</value></property> </bean>加入上傳圖片的jar
添加依賴
<!-- 文件上傳 --> <dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.1</version> </dependency>依賴樹
[INFO] \- commons-fileupload:commons-fileupload:jar:1.3.1:compile [INFO] \- commons-io:commons-io:jar:2.2:compile可以看到,其實還間接依賴了commons-io:commons-io:jar
創建圖片虛擬目錄存儲圖片
參考我之前的博文
在intellij IDEA中為web應用創建圖片虛擬目錄(詳細截圖)
也可以直接修改tomcat的配置,在conf/server.xml文件,添加虛擬目錄.
注意:在圖片虛擬目錄中,一定將圖片目錄分級創建(提高i/o性能),一般我們采用按日期(年、月、日)進行分級創建。
上傳圖片代碼
- 頁面
- controller方法
修改:商品修改controller方法:
@RequestMapping("/editItemsSubmit")public String editItemsSubmit(Model model,HttpServletRequest request,Integer id,@ModelAttribute("items")@Validated(value = ValidGroup1.class)ItemsCustom itemsCustom,BindingResult bindingResult,MultipartFile items_pic)throws Exception { //原始名稱 String originalFilename = items_pic.getOriginalFilename(); //上傳圖片 if(items_pic!=null && originalFilename!=null && originalFilename.length()>0){//存儲圖片的物理路徑String pic_path = "D:\\tmp\\";//新的圖片名稱String newFileName = UUID.randomUUID() + originalFilename.substring(originalFilename.lastIndexOf("."));//新圖片File newFile = new File(pic_path+newFileName);//將內存中的數據寫入磁盤items_pic.transferTo(newFile);//將新圖片名稱寫到itemsCustom中itemsCustom.setPic(newFileName);}作者@brianway更多文章:個人網站 | CSDN | oschina
轉載于:https://my.oschina.net/brianway/blog/637593
總結
以上是生活随笔為你收集整理的springmvc学习笔记(17)-上传图片的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java反射_JDBC操作数据
- 下一篇: s3c2440移植MQTT