在頁面form中提交enctype="multipart/form-data"的數(shù)據(jù)時(shí),需要spring對(duì)multipart類型的數(shù)據(jù)進(jìn)行解析.
1.在springmvc.xml中配置multipart類型解析器.
<!--文件上傳-->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!--設(shè)置上傳文件的最大尺寸為5MB-->
<property name="maxInMemorySize">
<value>5242880</value>
</property>
</bean>
2,創(chuàng)建圖片服務(wù)器
tomcat可以通過圖形化界面創(chuàng)建,也可以通過配置文件的形式配置.
配置文件的形式如下:
<Context docBase="真實(shí)路徑" path"/pic" reloadable="false"/>
注意:在圖片虛擬目錄中,一定將圖片目錄分級(jí)(目的提高i/o性能),一般采用按照日期分級(jí)創(chuàng)建.
3,需要的jar包
commons-fileupload.jar
commons-io.jar
4.controller中寫入上傳儲(chǔ)存圖片的代碼
if (items_pic != null) {
//存儲(chǔ)圖片的物理路徑
String pic_path = "G:\\upload\\temp\\";
//拿到圖片原始名稱
String originalFilename = items_pic.getOriginalFilename();
String newFilename = UUID.randomUUID() + originalFilename.substring(0,originalFilename.lastIndexOf("."));
//新圖片
File newFiel = new File(pic_path + newFilename);
//將內(nèi)存中的數(shù)據(jù)寫入磁盤
items_pic.transferTo(newFiel);
//將新的圖片名稱寫到itemsCustom中
itemsCustom.setPic(newFilename);
}